first round if cmake patches
This commit is contained in:
parent
00674cde8e
commit
00399f5467
112
CASA/CMakeLists.txt
Normal file
112
CASA/CMakeLists.txt
Normal file
@ -0,0 +1,112 @@
|
|||||||
|
project(CASA)
|
||||||
|
cmake_minimum_required(VERSION 2.6.0)
|
||||||
|
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
||||||
|
|
||||||
|
enable_language(C CXX CSharp)
|
||||||
|
|
||||||
|
SET (VERSION_MAJOR "1")
|
||||||
|
SET (VERSION_MINOR "7")
|
||||||
|
SET (VERSION_SUB "0")
|
||||||
|
SET (VERSION_PATCH "0")
|
||||||
|
# SET (VERSION_DEVEL "1")
|
||||||
|
# SET (VERSION_SUFFIX "a")
|
||||||
|
|
||||||
|
SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_SUB})
|
||||||
|
|
||||||
|
IF (VERSION_PATCH)
|
||||||
|
SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_SUB}.${VERSION_PATCH})
|
||||||
|
ENDIF (VERSION_PATCH)
|
||||||
|
|
||||||
|
IF (VERSION_DEVEL)
|
||||||
|
# for snapshot Version Number
|
||||||
|
find_package(Subversion)
|
||||||
|
IF (Subversion_FOUND)
|
||||||
|
Subversion_WC_INFO(${PROJECT_SOURCE_DIR} CASA)
|
||||||
|
MESSAGE("Current revision is ${CASA_WC_REVISION}")
|
||||||
|
ENDIF (Subversion_FOUND)
|
||||||
|
SET (VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_SUB}.${CASA_WC_REVISION})
|
||||||
|
ENDIF (VERSION_DEVEL)
|
||||||
|
|
||||||
|
# Set install locations:
|
||||||
|
set(LIB_SUFFIX "" CACHE STRING "Define suffix of directory name (32/64)" )
|
||||||
|
set(EXEC_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}" CACHE PATH "Base directory for executables and libraries" FORCE)
|
||||||
|
set(LIB_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
|
||||||
|
set(LIBEXEC_INSTALL_DIR "${LIB_INSTALL_DIR}/CASA" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX}/apparmor)" FORCE)
|
||||||
|
set(BIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/bin" CACHE PATH "The bin install dir" FORCE)
|
||||||
|
set(SBIN_INSTALL_DIR "${EXEC_INSTALL_PREFIX}/sbin" CACHE PATH "The sbin install dir" FORCE)
|
||||||
|
set(SHARE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share" CACHE PATH "Base directory for files which go to share/" FORCE)
|
||||||
|
set(INCLUDE_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Base directory for files which go to include/" FORCE)
|
||||||
|
set(DOC_INSTALL_DIR "${SHARE_INSTALL_DIR}/CASA-${VERSION}" CACHE PATH "Base directory for files which go to doc/" FORCE)
|
||||||
|
set(MAN_INSTALL_DIR "${SHARE_INSTALL_DIR}/man" CACHE PATH "Base directory for files which go to man/" FORCE)
|
||||||
|
set(SYSCONF_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/etc" CACHE PATH "Base directory for configuration files" FORCE)
|
||||||
|
set(LIBROOT_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is /lib${LIB_SUFFIX})" FORCE)
|
||||||
|
|
||||||
|
INCLUDE(${CMAKE_ROOT}/Modules/TestBigEndian.cmake)
|
||||||
|
TEST_BIG_ENDIAN(WORDS_BIGENDIAN)
|
||||||
|
include(CMakeJavaInformation)
|
||||||
|
include(CMakeDetermineJavaCompiler)
|
||||||
|
include(CPack REQUIRED)
|
||||||
|
|
||||||
|
find_package( PAM REQUIRED)
|
||||||
|
find_package( Mono REQUIRED)
|
||||||
|
find_package( PkgConfig REQUIRED)
|
||||||
|
find_package( JavaExtended REQUIRED)
|
||||||
|
find_package( JNI REQUIRED)
|
||||||
|
|
||||||
|
pkg_check_modules(GTK-SHARP REQUIRED gtk-sharp-2.0)
|
||||||
|
pkg_check_modules(GLADE-SHARP REQUIRED glade-sharp-2.0)
|
||||||
|
pkg_check_modules(GLIB REQUIRED glib)
|
||||||
|
pkg_check_modules(GNOME-KEYRING REQUIRED gnome-keyring-1)
|
||||||
|
pkg_check_modules(MONO-NUNIT REQUIRED mono-nunit)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
message(STATUS "CASA version: ${VERSION}")
|
||||||
|
message(STATUS "suffix: ${LIB_SUFFIX}")
|
||||||
|
message(STATUS "exec pref ${EXEC_INSTALL_PREFIX}")
|
||||||
|
message(STATUS "bin: ${BIN_INSTALL_DIR}")
|
||||||
|
message(STATUS "sbin: ${SBIN_INSTALL_DIR}")
|
||||||
|
message(STATUS "lib: ${LIB_INSTALL_DIR}")
|
||||||
|
message(STATUS "libroot: ${LIBROOT_INSTALL_DIR}")
|
||||||
|
message(STATUS "include: ${INCLUDE_INSTALL_DIR}")
|
||||||
|
message(STATUS "libexec: ${LIBEXEC_INSTALL_DIR}")
|
||||||
|
message(STATUS "doc: ${DOC_INSTALL_DIR}")
|
||||||
|
message(STATUS "man: ${MAN_INSTALL_DIR}")
|
||||||
|
message(STATUS "sysconf: ${SYSCONF_INSTALL_DIR}")
|
||||||
|
|
||||||
|
# put the include dirs which are in the source or build tree
|
||||||
|
# before all other include dirs, so the headers in the sources
|
||||||
|
# are prefered over the already installed ones
|
||||||
|
# since cmake 2.4.1
|
||||||
|
set(CMAKE_INCLUDE_DIRECTORIES_PROJECT_BEFORE ON)
|
||||||
|
|
||||||
|
add_custom_target(uninstall
|
||||||
|
"${CMAKE_COMMAND}" -P "${CMAKE_BINARY_DIR}/cmake_uninstall.cmake")
|
||||||
|
|
||||||
|
add_subdirectory(micasadk)
|
||||||
|
add_subdirectory(micasad/lib)
|
||||||
|
add_subdirectory(sharp)
|
||||||
|
add_subdirectory(policy)
|
||||||
|
add_subdirectory(adlib)
|
||||||
|
add_subdirectory(micasad)
|
||||||
|
add_subdirectory(cli)
|
||||||
|
add_subdirectory(gui)
|
||||||
|
add_subdirectory(logincapture)
|
||||||
|
add_subdirectory(jwrapper)
|
||||||
|
|
||||||
|
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Common Authentication Service Adapter (CASA).")
|
||||||
|
SET(CPACK_PACKAGE_VENDOR "http://code.google.com/p/casa-auth/")
|
||||||
|
SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README")
|
||||||
|
SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/COPYING")
|
||||||
|
SET(CPACK_PACKAGE_VERSION "${VERSION}")
|
||||||
|
SET(CPACK_PACKAGE_VERSION_PATCH "${VERSION_SUFFIX}")
|
||||||
|
SET(CPACK_PACKAGE_INSTALL_DIRECTORY "CASA-${VERSION}${VERSION_SUFFIX}")
|
||||||
|
SET(CPACK_SOURCE_PACKAGE_FILE_NAME "CASA-${VERSION}${VERSION_SUFFIX}")
|
||||||
|
SET(CPACK_GENERATOR TGZ)
|
||||||
|
SET(CPACK_SOURCE_GENERATOR TBZ2)
|
||||||
|
SET(CPACK_SOURCE_IGNORE_FILES CMakeCache.txt CMakeFiles progress.make cmake_install.cmake CPackConfig.cmake CPackSourceConfig.cmake "\\\\.git" "\\\\.svn" "\\\\.swp$" "\\\\.cvs" "\\\\.tar.gz" "\\\\.o")
|
||||||
|
SET(CPACK_SOURCE_TOPLEVEL_TAG "Linux-Source")
|
||||||
|
SET(CPACK_STRIP_FILES "")
|
||||||
|
SET(CPACK_SYSTEM_NAME "Linux")
|
||||||
|
|
@ -1,72 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
else
|
|
||||||
TARGET_CFG = Release
|
|
||||||
endif
|
|
||||||
|
|
||||||
if LINUX
|
|
||||||
SUBDIRS = micasacache common micasadk micasad/lib sharp \
|
|
||||||
policy adlib micasad cli gui logincapture jwrapper package
|
|
||||||
|
|
||||||
DIST_SUBDIRS = micasacache common micasadk micasad cli sharp \
|
|
||||||
policy adlib gui logincapture jwrapper package
|
|
||||||
endif
|
|
||||||
|
|
||||||
if WINDOWS
|
|
||||||
SUBDIRS = package
|
|
||||||
DIST_SUBDIRS = micasacache common micasadk jwrapper package
|
|
||||||
endif
|
|
||||||
|
|
||||||
EXTRA_DIST = include include/*.h \
|
|
||||||
doc/internal/*.doc doc/internal/*.xsd \
|
|
||||||
doc/product/*.pdf doc/product/*.txt \
|
|
||||||
readme-folder/readme* autogen.sh
|
|
||||||
|
|
||||||
CASALIBDIR = $(LIB)
|
|
||||||
|
|
||||||
if LIB64
|
|
||||||
CASABINDIR = bin64
|
|
||||||
else
|
|
||||||
CASABINDIR = bin
|
|
||||||
endif
|
|
||||||
|
|
||||||
.PHONY: package package-clean package-install package-uninstall
|
|
||||||
package package-clean package-install package-uninstall:
|
|
||||||
$(MAKE) -C package $@
|
|
||||||
|
|
||||||
installcheck-summary:
|
|
||||||
$(MAKE) -C src $@
|
|
||||||
|
|
||||||
clean-local:
|
|
||||||
rm -rf *.suo $(CASALIBDIR)
|
|
||||||
rm -rf *.suo $(CASABINDIR)
|
|
||||||
rm -rf BUILT
|
|
||||||
maintainer-clean-local:
|
|
||||||
rm -f configure Makefile.in casa-*.tar.gz
|
|
||||||
rm -f aclocal.m4 conf*.sh configure.lineno
|
|
||||||
rm -f config.guess config.sub config.status
|
|
||||||
rm -f ltmain.sh libtool
|
|
||||||
rm -f install-sh install-sh.lnk INSTALL INSTALL.lnk
|
|
||||||
rm -f missing missing.lnk mkinstalldirs mkinstalldir.lnk
|
|
||||||
rm -rf autom4te.cache
|
|
@ -20,61 +20,61 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyTitle("Novell.CASA.A-D.dll")]
|
[assembly: AssemblyTitle("Novell.CASA.A-D.dll")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
[assembly: AssemblyCompany("Novell, Inc")]
|
||||||
[assembly: AssemblyProduct("CASA")]
|
[assembly: AssemblyProduct("CASA")]
|
||||||
[assembly: AssemblyCopyright("")]
|
[assembly: AssemblyCopyright("")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
// Major Version
|
// Major Version
|
||||||
// Minor Version
|
// Minor Version
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.7.*")]
|
[assembly: AssemblyVersion("1.7.*")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||||
//
|
//
|
||||||
// Use the attributes below to control which key is used for signing.
|
// Use the attributes below to control which key is used for signing.
|
||||||
//
|
//
|
||||||
// Notes:
|
// Notes:
|
||||||
// (*) If no key is specified, the assembly is not signed.
|
// (*) If no key is specified, the assembly is not signed.
|
||||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||||
// a key.
|
// a key.
|
||||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||||
// following processing occurs:
|
// following processing occurs:
|
||||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||||
// in the KeyFile is installed into the CSP and used.
|
// in the KeyFile is installed into the CSP and used.
|
||||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||||
// When specifying the KeyFile, the location of the KeyFile should be
|
// When specifying the KeyFile, the location of the KeyFile should be
|
||||||
// relative to the project output directory which is
|
// relative to the project output directory which is
|
||||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||||
// located in the project directory, you would specify the AssemblyKeyFile
|
// located in the project directory, you would specify the AssemblyKeyFile
|
||||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
[assembly: AssemblyKeyFile("")]
|
[assembly: AssemblyKeyFile("")]
|
||||||
[assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
|
67
CASA/adlib/CMakeLists.txt
Normal file
67
CASA/adlib/CMakeLists.txt
Normal file
@ -0,0 +1,67 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(adlib)
|
||||||
|
|
||||||
|
enable_language(CSharp)
|
||||||
|
|
||||||
|
IF (UNIX)
|
||||||
|
add_subdirectory(ad_gk)
|
||||||
|
add_subdirectory(ad_ff)
|
||||||
|
add_subdirectory(ad_kw)
|
||||||
|
ENDIF (UNIX)
|
||||||
|
|
||||||
|
#IF (WIN32)
|
||||||
|
# add_subdirectory(Novell.Casa.MiCasa)
|
||||||
|
#ENDIF (WIN32)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
|
||||||
|
SET(SRC_CS AssemblyInfo.cs
|
||||||
|
Common.cs
|
||||||
|
IDataEngine.cs
|
||||||
|
miCASAEngine.cs
|
||||||
|
AD_Facade.cs
|
||||||
|
KWalletEngine.cs
|
||||||
|
GKEngine.cs
|
||||||
|
FFEngine.cs
|
||||||
|
${CMAKE_SOURCE_DIR}/gui/Logger.cs)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
SET(CS_FLAGS -r:${CMAKE_BINARY_DIR}/micasad/lib/Novell.CASA.Common.dll
|
||||||
|
-r:${CMAKE_BINARY_DIR}/sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.dll
|
||||||
|
-r:${CMAKE_BINARY_DIR}/policy/Novell.CASA.CASAPolicy.dll
|
||||||
|
-r:${CMAKE_CURRENT_BINARY_DIR}/ad_gk/Novell.CASA.DataEngines.GnomeKeyring.dll
|
||||||
|
-r:${CMAKE_CURRENT_BINARY_DIR}/ad_kw/Novell.CASA.DataEngines.KWallet.dll
|
||||||
|
-r:${CMAKE_CURRENT_BINARY_DIR}/ad_ff/Novell.CASA.DataEngines.FireFox.dll -pkg:gtk-sharp-2.0 /d:LINUX)
|
||||||
|
#CSHARP_ADD_LIBRARY(Novell.CASA.A-D "${SRC_CS}" REFERENCES Mono.Posix COMPILE_FLAGS /d:LINUX /warn:0 /keyfile:${KEYFILE})
|
||||||
|
CSHARP_ADD_LIBRARY(Novell.CASA.A-D "${SRC_CS}" REFERENCES Novell.CASA.DataEngines.KWallet Novell.CASA.Common Novell.CASA.miCASAWrapper Novell.CASA.CASAPolicy Novell.CASA.DataEngines.GnomeKeyring Novell.CASA.DataEngines.FireFox COMPILE_FLAGS -pkg:gtk-sharp-2.0 /d:LINUX)
|
||||||
|
ADD_DEPENDENCIES(Novell.CASA.A-D Novell.CASA.DataEngines.GnomeKeyring Novell.CASA.DataEngines.KWallet Novell.CASA.DataEngines.FireFox.dll)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Novell.CASA.A-D.dll DESTINATION ${LIBEXEC_INSTALL_DIR})
|
@ -20,75 +20,75 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
|
|
||||||
namespace Novell.CASA.DataEngines.Common
|
|
||||||
{
|
|
||||||
|
|
||||||
public class ConstStrings
|
|
||||||
{
|
|
||||||
|
|
||||||
// Error codes
|
|
||||||
public static int CASA_SUCCESS = 0;
|
|
||||||
public static int CASA_OPERATION_FAILED = 1;
|
|
||||||
public static int CASA_STORE_NOT_AVAILABLE = 3;
|
|
||||||
public static int CASA_DATA_UNAVAILABLE = 4;
|
|
||||||
|
|
||||||
// Store IDs
|
|
||||||
public static string miCASA = "miCASA";
|
|
||||||
public static string KW = "KDE KWallet";
|
|
||||||
public static string GK = "GNOME Keyring";
|
|
||||||
public static string PM = "Password Manager";
|
|
||||||
public static string FF = "Firefox";
|
|
||||||
|
|
||||||
//Store Types
|
|
||||||
public static int CASA_STORE_MICASA = 0;
|
|
||||||
public static int CASA_STORE_FFOX = 1;
|
|
||||||
public static int CASA_STORE_KWALLET =3;
|
|
||||||
public static int CASA_STORE_MOZILLA = 2;
|
|
||||||
public static int CASA_STORE_GK = 4;
|
|
||||||
|
|
||||||
|
|
||||||
//CCF Tag Names
|
|
||||||
|
|
||||||
public static string CCF_ID = "ID";
|
|
||||||
public static string CCF_GKTAG = "GK";
|
|
||||||
public static string CCF_KW = "KWallet";
|
|
||||||
public static string CCF_GKKEYRING = "Keyring";
|
|
||||||
public static string CCF_SECRET = "Secret";
|
|
||||||
public static string CCF_TYPE = "Type";
|
|
||||||
public static string CCF_KEY = "Key";
|
|
||||||
public static string CCF_VALUE = "Value";
|
|
||||||
public static string CCF_TIME = "Time";
|
|
||||||
public static string CCF_CRTIME = "Creation";
|
|
||||||
public static string CCF_MDTIME = "Modified";
|
|
||||||
public static string CCF_ACTIME = "Accessed";
|
|
||||||
public static string CCF_LOCK = "Lock";
|
|
||||||
public static string CCF_LOCKSTATUS = "LockStatus";
|
|
||||||
public static string CCF_LOCKHAND = "LockOnIdle";
|
|
||||||
public static string CCF_LOCKTIME = "LockTimeout";
|
|
||||||
public static string CCF_WALLET = "Wallet";
|
|
||||||
public static string CCF_FOLDER = "Folder";
|
|
||||||
public static string CCF_KEYCHAIN = "Keychain";
|
|
||||||
public static string CCF_KEYCHAINNAME = "Default";
|
|
||||||
public static string CCF_ZONE = "Zone";
|
|
||||||
public static string CCF_SYNCH = "Synch";
|
|
||||||
public static string CCF_NAME = "Name";
|
|
||||||
public static string CCF_FFTAG = "FireFox";
|
|
||||||
public static string CCF_FFPROFILE = "Profile";
|
|
||||||
public static string CCF_PASSWDSTATUS = "PasswordStatus";
|
|
||||||
|
|
||||||
//Add Operation Types on CCF
|
|
||||||
|
namespace Novell.CASA.DataEngines.Common
|
||||||
|
{
|
||||||
|
|
||||||
|
public class ConstStrings
|
||||||
|
{
|
||||||
|
|
||||||
|
// Error codes
|
||||||
|
public static int CASA_SUCCESS = 0;
|
||||||
|
public static int CASA_OPERATION_FAILED = 1;
|
||||||
|
public static int CASA_STORE_NOT_AVAILABLE = 3;
|
||||||
|
public static int CASA_DATA_UNAVAILABLE = 4;
|
||||||
|
|
||||||
|
// Store IDs
|
||||||
|
public static string miCASA = "miCASA";
|
||||||
|
public static string KW = "KDE KWallet";
|
||||||
|
public static string GK = "GNOME Keyring";
|
||||||
|
public static string PM = "Password Manager";
|
||||||
|
public static string FF = "Firefox";
|
||||||
|
|
||||||
|
//Store Types
|
||||||
|
public static int CASA_STORE_MICASA = 0;
|
||||||
|
public static int CASA_STORE_FFOX = 1;
|
||||||
|
public static int CASA_STORE_KWALLET =3;
|
||||||
|
public static int CASA_STORE_MOZILLA = 2;
|
||||||
|
public static int CASA_STORE_GK = 4;
|
||||||
|
|
||||||
|
|
||||||
|
//CCF Tag Names
|
||||||
|
|
||||||
|
public static string CCF_ID = "ID";
|
||||||
|
public static string CCF_GKTAG = "GK";
|
||||||
|
public static string CCF_KW = "KWallet";
|
||||||
|
public static string CCF_GKKEYRING = "Keyring";
|
||||||
|
public static string CCF_SECRET = "Secret";
|
||||||
|
public static string CCF_TYPE = "Type";
|
||||||
|
public static string CCF_KEY = "Key";
|
||||||
|
public static string CCF_VALUE = "Value";
|
||||||
|
public static string CCF_TIME = "Time";
|
||||||
|
public static string CCF_CRTIME = "Creation";
|
||||||
|
public static string CCF_MDTIME = "Modified";
|
||||||
|
public static string CCF_ACTIME = "Accessed";
|
||||||
|
public static string CCF_LOCK = "Lock";
|
||||||
|
public static string CCF_LOCKSTATUS = "LockStatus";
|
||||||
|
public static string CCF_LOCKHAND = "LockOnIdle";
|
||||||
|
public static string CCF_LOCKTIME = "LockTimeout";
|
||||||
|
public static string CCF_WALLET = "Wallet";
|
||||||
|
public static string CCF_FOLDER = "Folder";
|
||||||
|
public static string CCF_KEYCHAIN = "Keychain";
|
||||||
|
public static string CCF_KEYCHAINNAME = "Default";
|
||||||
|
public static string CCF_ZONE = "Zone";
|
||||||
|
public static string CCF_SYNCH = "Synch";
|
||||||
|
public static string CCF_NAME = "Name";
|
||||||
|
public static string CCF_FFTAG = "FireFox";
|
||||||
|
public static string CCF_FFPROFILE = "Profile";
|
||||||
|
public static string CCF_PASSWDSTATUS = "PasswordStatus";
|
||||||
|
|
||||||
|
//Add Operation Types on CCF
|
||||||
public static int OPERATION_ADD_SECRET = 0;
|
public static int OPERATION_ADD_SECRET = 0;
|
||||||
public static int OPERATION_DELETE_SECRET = 1;
|
public static int OPERATION_DELETE_SECRET = 1;
|
||||||
public static int OPERATION_MODIFY_SECRET = 2;
|
public static int OPERATION_MODIFY_SECRET = 2;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -20,36 +20,36 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
|
|
||||||
namespace Novell.CASA.DataEngines
|
namespace Novell.CASA.DataEngines
|
||||||
{
|
{
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Defines the interfaces to be implemenetd by all Data Engines.
|
* Defines the interfaces to be implemenetd by all Data Engines.
|
||||||
*/
|
*/
|
||||||
public interface DataEngine
|
public interface DataEngine
|
||||||
{
|
{
|
||||||
|
|
||||||
XmlNode Aggregate();
|
XmlNode Aggregate();
|
||||||
|
|
||||||
int GetSecret(XmlNode secret);
|
int GetSecret(XmlNode secret);
|
||||||
|
|
||||||
int SetSecret(XmlNode secret, int opnType);
|
int SetSecret(XmlNode secret, int opnType);
|
||||||
|
|
||||||
int SetSecret(XmlNode secret);
|
int SetSecret(XmlNode secret);
|
||||||
|
|
||||||
int Remove(XmlNode secret);
|
int Remove(XmlNode secret);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,119 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
CS_EXTRA_FLAGS = $(CSCFLAGS_DEBUG)
|
|
||||||
else
|
|
||||||
TARGET_CFG = Release
|
|
||||||
endif
|
|
||||||
|
|
||||||
SUBDIRS = ad_kw ad_gk ad_ff
|
|
||||||
DIST_SUBDIRS = ad_kw ad_gk ad_ff
|
|
||||||
|
|
||||||
CASAROOT = ..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CSFILES)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =Novell.CASA.A-D
|
|
||||||
MODULE_EXT =dll
|
|
||||||
|
|
||||||
CSFILES = $(srcdir)/AssemblyInfo.cs \
|
|
||||||
$(srcdir)/Common.cs \
|
|
||||||
$(srcdir)/IDataEngine.cs \
|
|
||||||
$(srcdir)/miCASAEngine.cs \
|
|
||||||
$(srcdir)/AD_Facade.cs \
|
|
||||||
$(srcdir)/KWalletEngine.cs \
|
|
||||||
$(srcdir)/GKEngine.cs \
|
|
||||||
$(srcdir)/FFEngine.cs \
|
|
||||||
$(top_srcdir)/gui/Logger.cs
|
|
||||||
|
|
||||||
CSFILES_CSC := $(subst /,$(SEP),$(CSFILES))
|
|
||||||
CS_FLAGS = $(CSC_LIBFLAG) -pkg:gtk-sharp-2.0 /d:LINUX
|
|
||||||
CS_RESOURCES =
|
|
||||||
CS_LIBS =$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.DataEngines.GnomeKeyring.dll \
|
|
||||||
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.DataEngines.KWallet.dll \
|
|
||||||
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.DataEngines.FireFox.dll \
|
|
||||||
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.CASAPolicy.dll \
|
|
||||||
$(CASALIBDIR)/$(TARGET_CFG)/Novell.CASA.miCASAWrapper.dll
|
|
||||||
CS_LIBPATH = $(CASALIBDIR)/$(TARGET_CFG) $(srcdir)/ad_gk/$(TARGET_CFG) $(srcdir)/ad_kw/$(TARGET_CFG) \
|
|
||||||
$(srcdir)/ad_ff/$(TARGET_CFG)
|
|
||||||
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
#OBJS = $(addprefix $(OBJDIR)/, $(CSFILES:%.dll=%.cs))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES)
|
|
||||||
$(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) $(CS_LIBPATH:%=-lib:%) $(CS_LIBS:%=/r:%) -out:$@ $(CSFILES_CSC)
|
|
||||||
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(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
|
|
@ -1,172 +0,0 @@
|
|||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ProjectType>Local</ProjectType>
|
|
||||||
<ProductVersion>8.0.50727</ProductVersion>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<ProjectGuid>{25D49F34-F655-4CCF-93F1-449243AF7A32}</ProjectGuid>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ApplicationIcon>
|
|
||||||
</ApplicationIcon>
|
|
||||||
<AssemblyKeyContainerName>
|
|
||||||
</AssemblyKeyContainerName>
|
|
||||||
<AssemblyName>Novell.CASA.DataEngines</AssemblyName>
|
|
||||||
<AssemblyOriginatorKeyFile>
|
|
||||||
</AssemblyOriginatorKeyFile>
|
|
||||||
<DefaultClientScript>JScript</DefaultClientScript>
|
|
||||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
|
||||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
|
||||||
<DelaySign>false</DelaySign>
|
|
||||||
<OutputType>Library</OutputType>
|
|
||||||
<RootNamespace>Novell.CASA.DataEngines</RootNamespace>
|
|
||||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
|
||||||
<StartupObject>
|
|
||||||
</StartupObject>
|
|
||||||
<FileUpgradeFlags>
|
|
||||||
</FileUpgradeFlags>
|
|
||||||
<UpgradeBackupLocation>
|
|
||||||
</UpgradeBackupLocation>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Debug\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile>
|
|
||||||
</ConfigurationOverrideFile>
|
|
||||||
<DefineConstants>DEBUG;TRACE; WIN32</DefineConstants>
|
|
||||||
<DocumentationFile>
|
|
||||||
</DocumentationFile>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn>
|
|
||||||
</NoWarn>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<OutputPath>bin\Release\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile>
|
|
||||||
</ConfigurationOverrideFile>
|
|
||||||
<DefineConstants>TRACE; WIN32</DefineConstants>
|
|
||||||
<DocumentationFile>
|
|
||||||
</DocumentationFile>
|
|
||||||
<DebugSymbols>false</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn>
|
|
||||||
</NoWarn>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>none</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<PlatformTarget>x86</PlatformTarget>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="atk-sharp">
|
|
||||||
<Name>atk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\atk-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="gdk-sharp">
|
|
||||||
<Name>gdk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\gdk-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="glade-sharp">
|
|
||||||
<Name>glade-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\glade-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="glib-sharp">
|
|
||||||
<Name>glib-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\glib-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="gtk-sharp">
|
|
||||||
<Name>gtk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\gtk-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="pango-sharp">
|
|
||||||
<Name>pango-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\pango-sharp.dll</HintPath>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System">
|
|
||||||
<Name>System</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Data">
|
|
||||||
<Name>System.Data</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Xml">
|
|
||||||
<Name>System.XML</Name>
|
|
||||||
</Reference>
|
|
||||||
<ProjectReference Include="..\micasad\lib\Novell.CASA.Common.csproj">
|
|
||||||
<Name>Novell.CASA.Common</Name>
|
|
||||||
<Project>{57CD94A2-5B4A-40C3-8189-CB760FB78357}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\policy\Novell.CASA.CASAPolicy.csproj">
|
|
||||||
<Name>Novell.CASA.CASAPolicy</Name>
|
|
||||||
<Project>{636A9D7E-BFB5-4EB9-96F8-51FF85A98826}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\sharp\NSSCSWrapper\Novell.CASA.miCASAWrapper.csproj">
|
|
||||||
<Name>Novell.CASA.miCASAWrapper</Name>
|
|
||||||
<Project>{E21DD887-22F4-4935-9851-409715F663B0}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="AD_Facade.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ad_ff\FireFox.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ad_gk\GnomeKeyring.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ad_kw\KWalletEnum.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ad_kw\KWalletNative.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="AssemblyInfo.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Common.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="FFEngine.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="GKEngine.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="IDataEngine.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="KWalletEngine.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="miCASAEngine.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<PreBuildEvent>
|
|
||||||
</PreBuildEvent>
|
|
||||||
<PostBuildEvent>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,58 +0,0 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<LastOpenVersion>7.10.3077</LastOpenVersion>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ReferencePath>
|
|
||||||
</ReferencePath>
|
|
||||||
<CopyProjectDestinationFolder>
|
|
||||||
</CopyProjectDestinationFolder>
|
|
||||||
<CopyProjectUncPath>
|
|
||||||
</CopyProjectUncPath>
|
|
||||||
<CopyProjectOption>0</CopyProjectOption>
|
|
||||||
<ProjectView>ProjectFiles</ProjectView>
|
|
||||||
<ProjectTrust>0</ProjectTrust>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<EnableASPDebugging>false</EnableASPDebugging>
|
|
||||||
<EnableASPXDebugging>false</EnableASPXDebugging>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
<EnableSQLServerDebugging>false</EnableSQLServerDebugging>
|
|
||||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
|
||||||
<RemoteDebugMachine>
|
|
||||||
</RemoteDebugMachine>
|
|
||||||
<StartAction>Project</StartAction>
|
|
||||||
<StartArguments>
|
|
||||||
</StartArguments>
|
|
||||||
<StartPage>
|
|
||||||
</StartPage>
|
|
||||||
<StartProgram>
|
|
||||||
</StartProgram>
|
|
||||||
<StartURL>
|
|
||||||
</StartURL>
|
|
||||||
<StartWorkingDirectory>
|
|
||||||
</StartWorkingDirectory>
|
|
||||||
<StartWithIE>false</StartWithIE>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<EnableASPDebugging>false</EnableASPDebugging>
|
|
||||||
<EnableASPXDebugging>false</EnableASPXDebugging>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
<EnableSQLServerDebugging>false</EnableSQLServerDebugging>
|
|
||||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
|
||||||
<RemoteDebugMachine>
|
|
||||||
</RemoteDebugMachine>
|
|
||||||
<StartAction>Project</StartAction>
|
|
||||||
<StartArguments>
|
|
||||||
</StartArguments>
|
|
||||||
<StartPage>
|
|
||||||
</StartPage>
|
|
||||||
<StartProgram>
|
|
||||||
</StartProgram>
|
|
||||||
<StartURL>
|
|
||||||
</StartURL>
|
|
||||||
<StartWorkingDirectory>
|
|
||||||
</StartWorkingDirectory>
|
|
||||||
<StartWithIE>false</StartWithIE>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -20,61 +20,61 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyTitle("Novell.CASA.DataEngines.FireFox.dll")]
|
[assembly: AssemblyTitle("Novell.CASA.DataEngines.FireFox.dll")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
[assembly: AssemblyCompany("Novell, Inc")]
|
||||||
[assembly: AssemblyProduct("CASA")]
|
[assembly: AssemblyProduct("CASA")]
|
||||||
[assembly: AssemblyCopyright("")]
|
[assembly: AssemblyCopyright("")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
// Major Version
|
// Major Version
|
||||||
// Minor Version
|
// Minor Version
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.6.*")]
|
[assembly: AssemblyVersion("1.7.*")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||||
//
|
//
|
||||||
// Use the attributes below to control which key is used for signing.
|
// Use the attributes below to control which key is used for signing.
|
||||||
//
|
//
|
||||||
// Notes:
|
// Notes:
|
||||||
// (*) If no key is specified, the assembly is not signed.
|
// (*) If no key is specified, the assembly is not signed.
|
||||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||||
// a key.
|
// a key.
|
||||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||||
// following processing occurs:
|
// following processing occurs:
|
||||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||||
// in the KeyFile is installed into the CSP and used.
|
// in the KeyFile is installed into the CSP and used.
|
||||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||||
// When specifying the KeyFile, the location of the KeyFile should be
|
// When specifying the KeyFile, the location of the KeyFile should be
|
||||||
// relative to the project output directory which is
|
// relative to the project output directory which is
|
||||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||||
// located in the project directory, you would specify the AssemblyKeyFile
|
// located in the project directory, you would specify the AssemblyKeyFile
|
||||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
[assembly: AssemblyKeyFile("")]
|
[assembly: AssemblyKeyFile("")]
|
||||||
[assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
|
56
CASA/adlib/ad_ff/CMakeLists.txt
Normal file
56
CASA/adlib/ad_ff/CMakeLists.txt
Normal file
@ -0,0 +1,56 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(ad_ff)
|
||||||
|
|
||||||
|
enable_language(CXX CSharp)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/native
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
${GNOME-KEYRING_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
add_library(ad_ff SHARED native/Common.cpp
|
||||||
|
native/CryptManager.cpp
|
||||||
|
native/DataManager.cpp
|
||||||
|
native/FirefoxPasswordManager.cpp
|
||||||
|
native/ProfileManager.cpp
|
||||||
|
native/SignonManager.cpp)
|
||||||
|
|
||||||
|
SET(SRC_CS FireFox.cs AssemblyInfo.cs)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
set_target_properties(ad_ff PROPERTIES VERSION 1.1.1 SOVERSION 1)
|
||||||
|
target_link_libraries(ad_ff ${GLIB_LIBRARIES} ${GNOME-KEYRING_LIBRARIES})
|
||||||
|
|
||||||
|
#SET(CS_FLAGS ${GTK-SHARP_LIBRARIES} /d:LINUX /d:MONO)
|
||||||
|
#CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.FireFox "${SRC_CS}" REFERENCES Mono.Posix COMPILE_FLAGS /d:LINUX /d:MONO /warn:0 /keyfile:${KEYFILE})
|
||||||
|
CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.FireFox "${SRC_CS}")
|
||||||
|
#ADD_DEPENDENCIES(akonadi kde-dotnet akonadi-sharp smokeakonadi)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
install(TARGETS ad_ff DESTINATION ${LIB_INSTALL_DIR})
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Novell.CASA.DataEngines.FireFox.dll DESTINATION ${LIBEXEC_INSTALL_DIR})
|
@ -1,106 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
CS_EXTRA_FLAGS = $(CSCFLAGS_DEBUG)
|
|
||||||
else
|
|
||||||
TARGET_CFG = Release
|
|
||||||
endif
|
|
||||||
|
|
||||||
SUBDIRS = native
|
|
||||||
DIST_SUBDIRS = native
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CSFILES)
|
|
||||||
|
|
||||||
CASAROOT = ../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =Novell.CASA.DataEngines.FireFox
|
|
||||||
MODULE_EXT =dll
|
|
||||||
|
|
||||||
CSFILES = $(srcdir)/FireFox.cs \
|
|
||||||
$(srcdir)/AssemblyInfo.cs
|
|
||||||
|
|
||||||
CSFILES_CSC := $(subst /,$(SEP),$(CSFILES))
|
|
||||||
CS_FLAGS = $(CSC_LIBFLAG) -target:library
|
|
||||||
CS_RESOURCES =
|
|
||||||
CS_LIBS =
|
|
||||||
CS_LIBPATH =
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
#OBJS = $(addprefix $(OBJDIR)/, $(CSFILES:%.dll=%.cs))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES)
|
|
||||||
$(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) -out:$@ $(CSFILES_CSC)
|
|
||||||
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(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
|
|
@ -1,247 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="ad_firefox_native"
|
|
||||||
ProjectGUID="{BB304ECF-FCBA-4693-9D47-86749815DDC8}"
|
|
||||||
RootNamespace="ad_firefox_native"
|
|
||||||
Keyword="Win32Proj"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory="Debug"
|
|
||||||
IntermediateDirectory="Debug"
|
|
||||||
ConfigurationType="2"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_WINDOWS;_USRDLL;FIREFOX_EXPORTS"
|
|
||||||
MinimalRebuild="true"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/ad_ff.dll"
|
|
||||||
LinkIncremental="2"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
ProgramDatabaseFile="$(OutDir)/firefox.pdb"
|
|
||||||
SubSystem="2"
|
|
||||||
ImportLibrary="$(OutDir)/firefox.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"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_WINDOWS;_USRDLL;FIREFOX_EXPORTS"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
WarningLevel="3"
|
|
||||||
Detect64BitPortabilityProblems="true"
|
|
||||||
DebugInformationFormat="3"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
OutputFile="$(OutDir)/ad_ff.dll"
|
|
||||||
LinkIncremental="1"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="2"
|
|
||||||
OptimizeReferences="2"
|
|
||||||
EnableCOMDATFolding="2"
|
|
||||||
ImportLibrary="$(OutDir)/firefox.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;def;odl;idl;hpj;bat;asm;asmx"
|
|
||||||
UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\Common.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\CryptManager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\DataManager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\FirefoxPasswordManager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\ProfileManager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\SignonManager.cpp"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
<Filter
|
|
||||||
Name="Header Files"
|
|
||||||
Filter="h;hpp;hxx;hm;inl;inc;xsd"
|
|
||||||
UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\Common.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\CryptManager.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\DataManager.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\FirefoxPasswordManager.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\ProfileManager.h"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
<File
|
|
||||||
RelativePath=".\native\SignonManager.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>
|
|
@ -1,75 +1,75 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; version 2.1
|
* License as published by the Free Software Foundation; version 2.1
|
||||||
* of the License.
|
* of the License.
|
||||||
*
|
*
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Library Lesser General Public License for more details.
|
* Library Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, Novell, Inc.
|
* License along with this library; if not, Novell, Inc.
|
||||||
*
|
*
|
||||||
* To contact Novell about this file by physical or electronic mail,
|
* To contact Novell about this file by physical or electronic mail,
|
||||||
* you may find current contact information at www.novell.com.
|
* you may find current contact information at www.novell.com.
|
||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
#ifndef __FPM_COMMON_H__
|
#ifndef __FPM_COMMON_H__
|
||||||
#define __FPM_COMMON_H__
|
#define __FPM_COMMON_H__
|
||||||
|
|
||||||
// Common structure declarations...
|
// Common structure declarations...
|
||||||
|
|
||||||
struct Host
|
struct Host
|
||||||
{
|
{
|
||||||
char *hostName;
|
char *hostName;
|
||||||
struct HostElement *child;
|
struct HostElement *child;
|
||||||
struct Host *next;
|
struct Host *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Each name/value pair for the Host is represented by HostElement
|
// Each name/value pair for the Host is represented by HostElement
|
||||||
struct HostElement
|
struct HostElement
|
||||||
{
|
{
|
||||||
char *name;
|
char *name;
|
||||||
char *value;
|
char *value;
|
||||||
char *formUrl;
|
char *formUrl;
|
||||||
int isPassword;
|
int isPassword;
|
||||||
struct HostElement *next;
|
struct HostElement *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
struct RejectHost
|
struct RejectHost
|
||||||
{
|
{
|
||||||
char *hostName;
|
char *hostName;
|
||||||
struct RejectHost *next;
|
struct RejectHost *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Error codes
|
// Error codes
|
||||||
|
|
||||||
#define FPM_PROFILE_NOT_PRESENT -101 // Specified profile does not exist
|
#define FPM_PROFILE_NOT_PRESENT -101 // Specified profile does not exist
|
||||||
#define FPM_LIBRARY_LOAD_FAILED -102 // Failed to load the firefox library
|
#define FPM_LIBRARY_LOAD_FAILED -102 // Failed to load the firefox library
|
||||||
#define FPM_LIBRARY_INIT_FAILED -103 // Failed to initialize firefox library
|
#define FPM_LIBRARY_INIT_FAILED -103 // Failed to initialize firefox library
|
||||||
#define FPM_PROFILE_NOT_INITIALIZED -104 // Specified profile not initialized
|
#define FPM_PROFILE_NOT_INITIALIZED -104 // Specified profile not initialized
|
||||||
#define FPM_MASTERPASSWORD_WRONG -105 // Wrong master password is specified
|
#define FPM_MASTERPASSWORD_WRONG -105 // Wrong master password is specified
|
||||||
#define FPM_SIGNON_DATASTORE_EMPTY -106 // Internal signon data store is empty
|
#define FPM_SIGNON_DATASTORE_EMPTY -106 // Internal signon data store is empty
|
||||||
#define FPM_SIGNON_FILE_NOT_PRESENT -107 // Signon file is not present in profile directory
|
#define FPM_SIGNON_FILE_NOT_PRESENT -107 // Signon file is not present in profile directory
|
||||||
#define FPM_SIGNON_FILE_READ_ERROR -108 // Error in reading signon file
|
#define FPM_SIGNON_FILE_READ_ERROR -108 // Error in reading signon file
|
||||||
#define FPM_SIGNON_FILE_WRITE_ERROR -109 // Error in writing signon file
|
#define FPM_SIGNON_FILE_WRITE_ERROR -109 // Error in writing signon file
|
||||||
#define FPM_SIGNON_FILE_LOCKED -110 // Signon file is locked.
|
#define FPM_SIGNON_FILE_LOCKED -110 // Signon file is locked.
|
||||||
#define FPM_INSUFFICIENT_MEMORY -111 // Insufficient memory.
|
#define FPM_INSUFFICIENT_MEMORY -111 // Insufficient memory.
|
||||||
#define FPM_ILLEGAL_HOSTNAME -112 // Hostname is not in proper form
|
#define FPM_ILLEGAL_HOSTNAME -112 // Hostname is not in proper form
|
||||||
#define FPM_HOSTNAME_NOT_PRESENT -113 // Specified hostname is not present
|
#define FPM_HOSTNAME_NOT_PRESENT -113 // Specified hostname is not present
|
||||||
#define FPM_NAME_NOT_PRESENT -114 // Specified name is not present
|
#define FPM_NAME_NOT_PRESENT -114 // Specified name is not present
|
||||||
#define FPM_SIGNON_FILE_INVALID_DATA -115 // Invalid data is read from signon file
|
#define FPM_SIGNON_FILE_INVALID_DATA -115 // Invalid data is read from signon file
|
||||||
#define FPM_PROFILE_LIMIT_EXCEEDED -116 // Maximum number of profiles exceeded...
|
#define FPM_PROFILE_LIMIT_EXCEEDED -116 // Maximum number of profiles exceeded...
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,65 +1,65 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; version 2.1
|
* License as published by the Free Software Foundation; version 2.1
|
||||||
* of the License.
|
* of the License.
|
||||||
*
|
*
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Library Lesser General Public License for more details.
|
* Library Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, Novell, Inc.
|
* License along with this library; if not, Novell, Inc.
|
||||||
*
|
*
|
||||||
* To contact Novell about this file by physical or electronic mail,
|
* To contact Novell about this file by physical or electronic mail,
|
||||||
* you may find current contact information at www.novell.com.
|
* you may find current contact information at www.novell.com.
|
||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
#ifndef __FPM_DATA_MANAGER_H__
|
#ifndef __FPM_DATA_MANAGER_H__
|
||||||
#define __FPM_DATA_MANAGER_H__
|
#define __FPM_DATA_MANAGER_H__
|
||||||
|
|
||||||
#include "FirefoxPasswordManager.h"
|
#include "FirefoxPasswordManager.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
|
|
||||||
|
|
||||||
class DataManager
|
class DataManager
|
||||||
{
|
{
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
||||||
Host *hostList;
|
Host *hostList;
|
||||||
RejectHost *rejectHostList;
|
RejectHost *rejectHostList;
|
||||||
|
|
||||||
DataManager();
|
DataManager();
|
||||||
virtual ~DataManager();
|
virtual ~DataManager();
|
||||||
|
|
||||||
int AddRejectHost(char *hostName);
|
int AddRejectHost(char *hostName);
|
||||||
int RemoveRejectHost(char *hostName);
|
int RemoveRejectHost(char *hostName);
|
||||||
void PrintAllRejectHosts();
|
void PrintAllRejectHosts();
|
||||||
|
|
||||||
|
|
||||||
int AddHost(char *hostName);
|
int AddHost(char *hostName);
|
||||||
int AddHost(Host *host);
|
int AddHost(Host *host);
|
||||||
int ModifyHost(struct Host *host);
|
int ModifyHost(struct Host *host);
|
||||||
int ModifyHost(char *oldHostName, char *newHostName);
|
int ModifyHost(char *oldHostName, char *newHostName);
|
||||||
int RemoveHost(char *hostName);
|
int RemoveHost(char *hostName);
|
||||||
void PrintAllHosts();
|
void PrintAllHosts();
|
||||||
|
|
||||||
int AddHostElement(char *hostName, char *name, char *value, unsigned char isPassword, char *formUrl);
|
int AddHostElement(char *hostName, char *name, char *value, unsigned char isPassword, char *formUrl);
|
||||||
int RemoveHostElement(char *hostName, char *clearValue);
|
int RemoveHostElement(char *hostName, char *clearValue);
|
||||||
Host* DuplicateHost(Host *host);
|
Host* DuplicateHost(Host *host);
|
||||||
|
|
||||||
int RemoveAllData();
|
int RemoveAllData();
|
||||||
int RemoveAllRejectHosts();
|
int RemoveAllRejectHosts();
|
||||||
int RemoveAllHosts();
|
int RemoveAllHosts();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,123 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CXXFILES) *.h
|
|
||||||
|
|
||||||
CASAROOT = ../../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
BUILD_VER = 1.1.1
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
MODULE_NAME =libad_ff
|
|
||||||
MODULE_EXT =so
|
|
||||||
|
|
||||||
CXXFILES = $(srcdir)/Common.cpp \
|
|
||||||
$(srcdir)/CryptManager.cpp \
|
|
||||||
$(srcdir)/FirefoxPasswordManager.cpp \
|
|
||||||
$(srcdir)/ProfileManager.cpp \
|
|
||||||
$(srcdir)/SignonManager.cpp \
|
|
||||||
$(srcdir)/DataManager.cpp
|
|
||||||
|
|
||||||
|
|
||||||
CXXFILES_CXX :=
|
|
||||||
INCLUDES = -I. -I.. -I$(CASAROOT)/include \
|
|
||||||
-I/opt/gnome/include/gnome-keyring-1
|
|
||||||
CXXFLAGS = $(CPP_LIBFLAG) $(INCLUDES)
|
|
||||||
EXTRA_CXXFLAGS = -fPIC -DPIC -DSSCS_LINUX_PLAT_F -DQT_THREAD_SUPPORT -DQT_CLEAN_NANESPACE \
|
|
||||||
-DQT_NO_ASCII_CAS -O2 -fmessage-length=0 -Wall -g -D_REENTRANT \
|
|
||||||
-DALIGNMENT -DN_PLAT_UNIX -DUNIX -DLINUX -DIAPX386
|
|
||||||
CXX_RESOURCES =
|
|
||||||
LIBS = -lpthread -ldl -L/opt/kde3/lib
|
|
||||||
LDFLAGS = -fno-exception -fno-check-new -Wl,-Bsymbolic -shared -pthread -O2 \
|
|
||||||
-Wl,-soname -Wl,libkwallets_rw.so.1
|
|
||||||
|
|
||||||
EXTRA_LDFLAGS = -L/usr/$(LIB) -lqt-mt -L/usr/X11R6/$(LIB) -L/usr/lib/qt3/$(LIB)
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
OBJS = $(addprefix $(OBJDIR)/, $(CXXFILES:%.cpp=%.o))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: %.cpp
|
|
||||||
$(CXX) -c $(CXXFLAGS) $(EXTRA_CXXFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER): $(OBJDIR) $(OBJS)
|
|
||||||
@echo [======== Linking $@ ========]
|
|
||||||
c++ -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
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
|
|
||||||
|
|
||||||
$(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
|
|
@ -1,78 +1,78 @@
|
|||||||
/***********************************************************************
|
/***********************************************************************
|
||||||
*
|
*
|
||||||
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
* Copyright (C) 2005-2006 Novell, Inc. All Rights Reserved.
|
||||||
*
|
*
|
||||||
* This library is free software; you can redistribute it and/or
|
* This library is free software; you can redistribute it and/or
|
||||||
* modify it under the terms of the GNU Lesser General Public
|
* modify it under the terms of the GNU Lesser General Public
|
||||||
* License as published by the Free Software Foundation; version 2.1
|
* License as published by the Free Software Foundation; version 2.1
|
||||||
* of the License.
|
* of the License.
|
||||||
*
|
*
|
||||||
* This library is distributed in the hope that it will be useful,
|
* This library is distributed in the hope that it will be useful,
|
||||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
* Library Lesser General Public License for more details.
|
* Library Lesser General Public License for more details.
|
||||||
*
|
*
|
||||||
* You should have received a copy of the GNU Lesser General Public
|
* You should have received a copy of the GNU Lesser General Public
|
||||||
* License along with this library; if not, Novell, Inc.
|
* License along with this library; if not, Novell, Inc.
|
||||||
*
|
*
|
||||||
* To contact Novell about this file by physical or electronic mail,
|
* To contact Novell about this file by physical or electronic mail,
|
||||||
* you may find current contact information at www.novell.com.
|
* you may find current contact information at www.novell.com.
|
||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
// SignonManager.h: interface for the SignonManager class.
|
// SignonManager.h: interface for the SignonManager class.
|
||||||
//
|
//
|
||||||
//////////////////////////////////////////////////////////////////////
|
//////////////////////////////////////////////////////////////////////
|
||||||
|
|
||||||
#ifndef __FPM_SIGNON_MANAGER_H__
|
#ifndef __FPM_SIGNON_MANAGER_H__
|
||||||
#define __FPM_SIGNON_MANAGER_H__
|
#define __FPM_SIGNON_MANAGER_H__
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#include "FirefoxPasswordManager.h"
|
#include "FirefoxPasswordManager.h"
|
||||||
#include "Common.h"
|
#include "Common.h"
|
||||||
#include "DataManager.h"
|
#include "DataManager.h"
|
||||||
#include "CryptManager.h"
|
#include "CryptManager.h"
|
||||||
|
|
||||||
|
|
||||||
class SignonManager
|
class SignonManager
|
||||||
{
|
{
|
||||||
|
|
||||||
DataManager dataManager;
|
DataManager dataManager;
|
||||||
CryptManager cryptManager;
|
CryptManager cryptManager;
|
||||||
FILE *signonFile;
|
FILE *signonFile;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SignonManager();
|
SignonManager();
|
||||||
virtual ~SignonManager();
|
virtual ~SignonManager();
|
||||||
|
|
||||||
int OpenSignonFile(char *firefoxProfileDir, char *fileName, char *accessType, bool create);
|
int OpenSignonFile(char *firefoxProfileDir, char *fileName, char *accessType, bool create);
|
||||||
int CloseSignonFile();
|
int CloseSignonFile();
|
||||||
|
|
||||||
int ReadLine(char *buffer, int size);
|
int ReadLine(char *buffer, int size);
|
||||||
char ReadChar();
|
char ReadChar();
|
||||||
Unichar ReadCharUTF8();
|
Unichar ReadCharUTF8();
|
||||||
int WriteCharUTF8(Unichar c);
|
int WriteCharUTF8(Unichar c);
|
||||||
int WriteLine(char *line);
|
int WriteLine(char *line);
|
||||||
|
|
||||||
|
|
||||||
int LoadSignonData(char *firefoxProfileDir);
|
int LoadSignonData(char *firefoxProfileDir);
|
||||||
int WriteSignonData(char *firefoxProfileDir);
|
int WriteSignonData(char *firefoxProfileDir);
|
||||||
int RemoveSignonData();
|
int RemoveSignonData();
|
||||||
|
|
||||||
int AddUser(char *host, char *userName, char *password);
|
int AddUser(char *host, char *userName, char *password);
|
||||||
int RemoveHost(char *hostName);
|
int RemoveHost(char *hostName);
|
||||||
int ModifyHost(struct Host *host);
|
int ModifyHost(struct Host *host);
|
||||||
int AddHost(struct Host *host);
|
int AddHost(struct Host *host);
|
||||||
|
|
||||||
|
|
||||||
struct Host* GetHostInfo();
|
struct Host* GetHostInfo();
|
||||||
void SetupFunctions(void *funList[]);
|
void SetupFunctions(void *funList[]);
|
||||||
|
|
||||||
|
|
||||||
int CheckSignonPref();
|
int CheckSignonPref();
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -1,5 +0,0 @@
|
|||||||
LINK = $(CPP) \
|
|
||||||
-shared \
|
|
||||||
-Wl \
|
|
||||||
-o $(LIBDIR)$(XTRA)/lib$(TARGET).so.$(BLD_VER) \
|
|
||||||
$(OBJDIR)*.$(O)
|
|
@ -1,7 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
Common.$(O) \
|
|
||||||
CryptManager.$(O) \
|
|
||||||
FirefoxPasswordManager.$(O) \
|
|
||||||
ProfileManager.$(O) \
|
|
||||||
SignonManager.$(O) \
|
|
||||||
DataManager.$(O)
|
|
@ -1,3 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
AssembyInfo\
|
|
||||||
FireFox
|
|
@ -1,3 +0,0 @@
|
|||||||
SRC=\
|
|
||||||
AssemblyInfo.cs\
|
|
||||||
FireFox.cs
|
|
@ -20,61 +20,61 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyTitle("Novell.CASA.DataEngines.GnomeKeyring.dll")]
|
[assembly: AssemblyTitle("Novell.CASA.DataEngines.GnomeKeyring.dll")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
[assembly: AssemblyCompany("Novell, Inc")]
|
||||||
[assembly: AssemblyProduct("CASA")]
|
[assembly: AssemblyProduct("CASA")]
|
||||||
[assembly: AssemblyCopyright("")]
|
[assembly: AssemblyCopyright("")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
// Major Version
|
// Major Version
|
||||||
// Minor Version
|
// Minor Version
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.6.*")]
|
[assembly: AssemblyVersion("1.7.*")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||||
//
|
//
|
||||||
// Use the attributes below to control which key is used for signing.
|
// Use the attributes below to control which key is used for signing.
|
||||||
//
|
//
|
||||||
// Notes:
|
// Notes:
|
||||||
// (*) If no key is specified, the assembly is not signed.
|
// (*) If no key is specified, the assembly is not signed.
|
||||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||||
// a key.
|
// a key.
|
||||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||||
// following processing occurs:
|
// following processing occurs:
|
||||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||||
// in the KeyFile is installed into the CSP and used.
|
// in the KeyFile is installed into the CSP and used.
|
||||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||||
// When specifying the KeyFile, the location of the KeyFile should be
|
// When specifying the KeyFile, the location of the KeyFile should be
|
||||||
// relative to the project output directory which is
|
// relative to the project output directory which is
|
||||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||||
// located in the project directory, you would specify the AssemblyKeyFile
|
// located in the project directory, you would specify the AssemblyKeyFile
|
||||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
[assembly: AssemblyKeyFile("")]
|
[assembly: AssemblyKeyFile("")]
|
||||||
[assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
|
51
CASA/adlib/ad_gk/CMakeLists.txt
Normal file
51
CASA/adlib/ad_gk/CMakeLists.txt
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(ad_gk)
|
||||||
|
|
||||||
|
enable_language(C CSharp)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/native
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
${GNOME-KEYRING_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
add_library(ad_gk SHARED native/ad_gk.c)
|
||||||
|
|
||||||
|
SET(SRC_CS GnomeKeyring.cs AssemblyInfo.cs)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
set_target_properties(ad_gk PROPERTIES VERSION 1.1.1 SOVERSION 1)
|
||||||
|
target_link_libraries(ad_gk ${GLIB_LIBRARIES} ${GNOME-KEYRING_LIBRARIES})
|
||||||
|
|
||||||
|
SET(CS_FLAGS ${GTK-SHARP_LIBRARIES})
|
||||||
|
#CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.GnomeKeyring "${SRC_CS}" REFERENCES Mono.Posix COMPILE_FLAGS /d:LINUX /d:MONO /warn:0 /keyfile:${KEYFILE})
|
||||||
|
CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.GnomeKeyring "${SRC_CS}" COMPILE_FLAGS -pkg:gtk-sharp-2.0)
|
||||||
|
#ADD_DEPENDENCIES(akonadi kde-dotnet akonadi-sharp smokeakonadi)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
install(TARGETS ad_gk DESTINATION ${LIB_INSTALL_DIR})
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Novell.CASA.DataEngines.GnomeKeyring.dll DESTINATION ${LIBEXEC_INSTALL_DIR})
|
@ -1,105 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
CS_EXTRA_FLAGS = $(CSCFLAGS_DEBUG)
|
|
||||||
else
|
|
||||||
TARGET_CFG = Release
|
|
||||||
endif
|
|
||||||
|
|
||||||
SUBDIRS = native
|
|
||||||
DIST_SUBDIRS = native
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CSFILES)
|
|
||||||
|
|
||||||
CASAROOT = ../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =Novell.CASA.DataEngines.GnomeKeyring
|
|
||||||
MODULE_EXT =dll
|
|
||||||
|
|
||||||
CSFILES = $(srcdir)/GnomeKeyring.cs
|
|
||||||
|
|
||||||
CSFILES_CSC := $(subst /,$(SEP),$(CSFILES))
|
|
||||||
CS_FLAGS = $(CSC_LIBFLAG) /target:library -pkg:gtk-sharp-2.0
|
|
||||||
CS_RESOURCES =
|
|
||||||
CS_LIBS =
|
|
||||||
CS_LIBPATH =
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
#OBJS = $(addprefix $(OBJDIR)/, $(CSFILES:%.dll=%.cs))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES)
|
|
||||||
$(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) -out:$@ $(CSFILES_CSC)
|
|
||||||
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(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
|
|
@ -1,131 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CFILES) *.h
|
|
||||||
|
|
||||||
CASAROOT = ../../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
BUILD_VER = 1.1.1
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME = libad_gk
|
|
||||||
MODULE_EXT = so
|
|
||||||
|
|
||||||
CFILES = $(srcdir)/ad_gk.c
|
|
||||||
|
|
||||||
LIBDIR = $(LIB)
|
|
||||||
|
|
||||||
CSFILES_CSC :=
|
|
||||||
INCLUDES = -I. -I.. -I$(CASAROOT)/include \
|
|
||||||
-I/opt/gnome/include/gnome-keyring-1 \
|
|
||||||
-I/opt/gnome/include/glib-2.0 \
|
|
||||||
-I/opt/gnome/$(LIBDIR)/glib-2.0/include \
|
|
||||||
-I/usr/include/glib-2.0 \
|
|
||||||
-I/usr/$(LIBDIR)/glib-2.0/include \
|
|
||||||
-L/opt/gnome/$(LIBDIR) -lglib-2.0
|
|
||||||
|
|
||||||
RESOURCES =
|
|
||||||
EXTRA_CFLAGS =
|
|
||||||
CFLAGS += $(INCLUDES) $(DEFINES)
|
|
||||||
|
|
||||||
LIBS = -lpthread -ldl
|
|
||||||
LDFLAGS = -fno-exceptions -fno-check-new -Wl,-Bsymbolic -shared -pthread -O2 \
|
|
||||||
-Wl,-rpath -Wl,/usr/$(LIBDIR) -Wl,-soname -Wl,libad_gk.so.1
|
|
||||||
|
|
||||||
EXTRA_LDFLAGS = -L/opt/gnome/$(LIBDIR) -L/usr/include -lglib-2.0 -L/$(CASAROOT)/$(LIBDIR)
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIBDIR)
|
|
||||||
|
|
||||||
OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CFILES) *.h
|
|
||||||
|
|
||||||
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) $(EXTRA_CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: %.cpp
|
|
||||||
$(CC) -c $(CFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER): $(OBJDIR) $(OBJS)
|
|
||||||
@echo [======== Linking $@ ========]
|
|
||||||
c++ -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
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
|
|
||||||
|
|
||||||
$(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
|
|
||||||
|
|
@ -1,15 +0,0 @@
|
|||||||
LINK = $(CPP) \
|
|
||||||
-Wl,-Bsymbolic \
|
|
||||||
-shared \
|
|
||||||
-pthread\
|
|
||||||
-O2 -fno-exceptions -fno-check-new\
|
|
||||||
-Wl,-rpath -Wl,/usr/lib$(ARC) \
|
|
||||||
-L/usr/lib$(ARC) -lpthread -lc -ldl \
|
|
||||||
-L/opt/gnome/lib$(ARC) -lglib-2.0 \
|
|
||||||
-Wl,-soname -Wl,lib$(TARGET).so.$(PROD_NUM) \
|
|
||||||
-o $(LIBDIR)$(XTRA)/lib$(TARGET).so.$(BLD_VER) \
|
|
||||||
-L$(LIBDIR)$(XTRA) \
|
|
||||||
$(OBJDIR)*.$(O)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
ad_gk.$(O)
|
|
@ -1,3 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
AssembyInfo\
|
|
||||||
GnomeKeyring
|
|
@ -1,3 +0,0 @@
|
|||||||
SRC=\
|
|
||||||
AssemblyInfo.cs\
|
|
||||||
GnomeKeyring.cs
|
|
@ -20,61 +20,61 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyTitle("Novell.CASA.DataEngines.KWallet.dll")]
|
[assembly: AssemblyTitle("Novell.CASA.DataEngines.KWallet.dll")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
[assembly: AssemblyCompany("Novell, Inc")]
|
||||||
[assembly: AssemblyProduct("CASA")]
|
[assembly: AssemblyProduct("CASA")]
|
||||||
[assembly: AssemblyCopyright("")]
|
[assembly: AssemblyCopyright("")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
// Major Version
|
// Major Version
|
||||||
// Minor Version
|
// Minor Version
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.6.*")]
|
[assembly: AssemblyVersion("1.7.*")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||||
//
|
//
|
||||||
// Use the attributes below to control which key is used for signing.
|
// Use the attributes below to control which key is used for signing.
|
||||||
//
|
//
|
||||||
// Notes:
|
// Notes:
|
||||||
// (*) If no key is specified, the assembly is not signed.
|
// (*) If no key is specified, the assembly is not signed.
|
||||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||||
// a key.
|
// a key.
|
||||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||||
// following processing occurs:
|
// following processing occurs:
|
||||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||||
// in the KeyFile is installed into the CSP and used.
|
// in the KeyFile is installed into the CSP and used.
|
||||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||||
// When specifying the KeyFile, the location of the KeyFile should be
|
// When specifying the KeyFile, the location of the KeyFile should be
|
||||||
// relative to the project output directory which is
|
// relative to the project output directory which is
|
||||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||||
// located in the project directory, you would specify the AssemblyKeyFile
|
// located in the project directory, you would specify the AssemblyKeyFile
|
||||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
[assembly: AssemblyKeyFile("")]
|
[assembly: AssemblyKeyFile("")]
|
||||||
[assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
|
51
CASA/adlib/ad_kw/CMakeLists.txt
Normal file
51
CASA/adlib/ad_kw/CMakeLists.txt
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(kwallets)
|
||||||
|
|
||||||
|
enable_language(CXX CSharp)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}/native
|
||||||
|
${GLIB_INCLUDE_DIRS}
|
||||||
|
${GNOME-KEYRING_INCLUDE_DIRS}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
#add_library(kwallets_rw SHARED native/kwallets_rw.cpp)
|
||||||
|
|
||||||
|
SET(SRC_CS AssemblyInfo.cs KWalletEnum.cs KWalletNative.cs)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
#set_target_properties(kwallets_rw PROPERTIES VERSION 1.1.1 SOVERSION 1)
|
||||||
|
#target_link_libraries(kwallets_rw ${GLIB_LIBRARIES} ${GNOME-KEYRING_LIBRARIES})
|
||||||
|
|
||||||
|
#SET(CS_FLAGS ${GTK-SHARP_LIBRARIES})
|
||||||
|
#CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.KWallet "${SRC_CS}" REFERENCES Mono.Posix COMPILE_FLAGS /d:LINUX /d:MONO /warn:0 /keyfile:${KEYFILE})
|
||||||
|
CSHARP_ADD_LIBRARY(Novell.CASA.DataEngines.KWallet "${SRC_CS}")
|
||||||
|
#ADD_DEPENDENCIES(akonadi kde-dotnet akonadi-sharp smokeakonadi)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
#install(TARGETS kwallets_rw DESTINATION ${LIB_INSTALL_DIR})
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/Novell.CASA.DataEngines.KWallet.dll DESTINATION ${LIBEXEC_INSTALL_DIR})
|
@ -1,107 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
CS_EXTRA_FLAGS = $(CSCFLAGS_DEBUG)
|
|
||||||
else
|
|
||||||
TARGET_CFG = Release
|
|
||||||
endif
|
|
||||||
|
|
||||||
#SUBDIRS = native
|
|
||||||
#DIST_SUBDIRS = native
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CSFILES)
|
|
||||||
|
|
||||||
CASAROOT = ../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =Novell.CASA.DataEngines.KWallet
|
|
||||||
MODULE_EXT =dll
|
|
||||||
|
|
||||||
CSFILES = $(srcdir)/AssemblyInfo.cs \
|
|
||||||
$(srcdir)/KWalletEnum.cs \
|
|
||||||
$(srcdir)/KWalletNative.cs
|
|
||||||
|
|
||||||
CSFILES_CSC := $(subst /,$(SEP),$(CSFILES))
|
|
||||||
CS_FLAGS = $(CSC_LIBFLAG)
|
|
||||||
CS_RESOURCES =
|
|
||||||
CS_LIBS =
|
|
||||||
CS_LIBPATH =
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
#OBJS = $(addprefix $(OBJDIR)/, $(CSFILES:%.dll=%.cs))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(CSFILES)
|
|
||||||
$(CSC) $(CS_FLAGS) $(CS_EXTRA_FLAGS) -out:$@ $(CSFILES_CSC)
|
|
||||||
cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(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
|
|
@ -1,125 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CXXFILES) $(CXX_MOC_FILES) *.h
|
|
||||||
|
|
||||||
CASAROOT = ../../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
BUILD_VER = 1.1.1
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR =
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
####this needs to be defined in configure.in
|
|
||||||
MOC = /usr/lib/qt3/bin/moc
|
|
||||||
CXX = g++
|
|
||||||
|
|
||||||
MODULE_NAME =libkwallets_rw
|
|
||||||
MODULE_EXT =so
|
|
||||||
|
|
||||||
CXXFILES = $(srcdir)/kwallets_rw.cpp
|
|
||||||
|
|
||||||
CXX_MOC_FILES = kwallets_rw.moc
|
|
||||||
|
|
||||||
CXXFILES_CXX :=
|
|
||||||
INCLUDES = -I. -I.. -I$(CASAROOT)/include \
|
|
||||||
-I/opt/kde3/include -I/usr/lib/qt3/include -I/usr/X11R6/include -I/opt/gnome/include/gnome-keyring-1/
|
|
||||||
CXXFLAGS = $(CPP_LIBFLAG) $(INCLUDES)
|
|
||||||
EXTRA_CXXFLAGS = -fPIC -DPIC -DSSCS_LINUX_PLAT_F -DQT_THREAD_SUPPORT -DQT_CLEAN_NANESPACE \
|
|
||||||
-DQT_NO_ASCII_CAS -O2 -fmessage-length=0 -Wall -g -D_REENTRANT \
|
|
||||||
-DALIGNMENT -DN_PLAT_UNIX -DUNIX -DLINUX -DIAPX386
|
|
||||||
CXX_RESOURCES =
|
|
||||||
LIBS = -lpthread -ldl
|
|
||||||
LDFLAGS = -fno-exception -fno-check-new -Wl,-Bsymbolic -shared -pthread -O2 \
|
|
||||||
-Wl,-soname -Wl,libkwallets_rw.so.1
|
|
||||||
|
|
||||||
EXTRA_LDFLAGS = -L/opt/kde3/$(LIB) -lkwalletclient \
|
|
||||||
-lqt-mt -L/usr/X11R6/$(LIB) -L/usr/lib/qt3/$(LIB) -lqt-mt
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
OBJS = $(addprefix $(OBJDIR)/, $(CXXFILES:%.cpp=%.o))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Pattern based rules.
|
|
||||||
#
|
|
||||||
vpath %.c $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cpp $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
vpath %.cs $(PLATFORMDEPENDENTSOURCEDIR) $(PLATFORMINDEPENDENTSOURCEDIR)
|
|
||||||
|
|
||||||
$(CXX_MOC_FILES): kwallets_rw.h
|
|
||||||
$(MOC) $^ -o $@
|
|
||||||
|
|
||||||
$(OBJDIR)/%.o: %.cpp
|
|
||||||
# $(CXX) -c $(CXXFLAGS) $(EXTRA_CXXFLAGS) -o $@ $<
|
|
||||||
c++ -c -g $(CXXFLAGS) $(EXTRA_CXXFLAGS) -o $@ $<
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT).$(BUILD_VER):$(CXX_MOC_FILES) $(OBJDIR) $(OBJS)
|
|
||||||
@echo [======== Linking $@ ========]
|
|
||||||
c++ -o $@ $(LDFLAGS) $(EXTRA_LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
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
|
|
||||||
|
|
||||||
$(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
|
|
||||||
if [ -f $(CXX_MOC_FILES) ]; then rm -f $(CXX_MOC_FILES); fi
|
|
||||||
distclean-local:
|
|
||||||
|
|
||||||
maintainer-clean-local:
|
|
||||||
rm -f Makefile.in
|
|
@ -1,14 +0,0 @@
|
|||||||
LINK = $(CPP) \
|
|
||||||
-Wl,-Bsymbolic \
|
|
||||||
-shared \
|
|
||||||
-pthread \
|
|
||||||
-O2 -fno-exceptions -fno-check-new \
|
|
||||||
-Wl,-rpath -Wl,/usr/lib$(ARC) \
|
|
||||||
-L/usr/lib$(ARC) -lpthread -lc -ldl \
|
|
||||||
-L/opt/kde3/lib$(ARC) -lkwalletclient -lqt-mt \
|
|
||||||
-L/usr/X11R6/lib$(ARC) \
|
|
||||||
-L/usr/lib/qt3/lib$(ARC) -lqt-mt \
|
|
||||||
-Wl,-soname -Wl,lib$(TARGET).so.$(PROD_NUM) \
|
|
||||||
-o $(LIBDIR)$(XTRA)/lib$(TARGET).so.$(BLD_VER) \
|
|
||||||
-L$(LIBDIR)$(XTRA) \
|
|
||||||
$(OBJDIR)*.$(O)
|
|
@ -1,2 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
kwallets_rw.$(O)
|
|
@ -1,4 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
AssemblyInfo\
|
|
||||||
KWalletEnum\
|
|
||||||
KWalletNative
|
|
@ -1,4 +0,0 @@
|
|||||||
SRC=\
|
|
||||||
AssemblyInfo.cs\
|
|
||||||
KWalletEnum.cs\
|
|
||||||
KWalletNative.cs
|
|
@ -83,58 +83,58 @@ namespace Novell.CASA.DataEngines
|
|||||||
StringEnumerator se = sc.GetEnumerator();
|
StringEnumerator se = sc.GetEnumerator();
|
||||||
se.Reset();
|
se.Reset();
|
||||||
|
|
||||||
while (se.MoveNext())
|
while (se.MoveNext())
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
|
||||||
|
|
||||||
Secret secret = store.GetSecret(se.Current);
|
Secret secret = store.GetSecret(se.Current);
|
||||||
NameValueCollection nvc = secret.GetKeyValueCollection();
|
NameValueCollection nvc = secret.GetKeyValueCollection();
|
||||||
|
|
||||||
mi_secret = doc.CreateElement(ConstStrings.CCF_SECRET);
|
mi_secret = doc.CreateElement(ConstStrings.CCF_SECRET);
|
||||||
synchAttr = doc.CreateAttribute(ConstStrings.CCF_SYNCH);
|
synchAttr = doc.CreateAttribute(ConstStrings.CCF_SYNCH);
|
||||||
//TBD:
|
//TBD:
|
||||||
synchAttr.Value = "Persistent Secret";
|
synchAttr.Value = "Persistent Secret";
|
||||||
secidAttr = doc.CreateAttribute(ConstStrings.CCF_ID);
|
secidAttr = doc.CreateAttribute(ConstStrings.CCF_ID);
|
||||||
secidAttr.Value = se.Current;
|
secidAttr.Value = se.Current;
|
||||||
mi_secret.SetAttributeNode(secidAttr);
|
mi_secret.SetAttributeNode(secidAttr);
|
||||||
mi_secret.SetAttributeNode(synchAttr);
|
mi_secret.SetAttributeNode(synchAttr);
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < nvc.Count; i++)
|
for (int i = 0; i < nvc.Count; i++)
|
||||||
{
|
{
|
||||||
|
|
||||||
sKey = nvc.GetKey(i);
|
sKey = nvc.GetKey(i);
|
||||||
sValue = nvc.Get(sKey);
|
sValue = nvc.Get(sKey);
|
||||||
|
|
||||||
//Key
|
//Key
|
||||||
key1 = doc.CreateElement(ConstStrings.CCF_KEY);
|
key1 = doc.CreateElement(ConstStrings.CCF_KEY);
|
||||||
Atr = doc.CreateAttribute(ConstStrings.CCF_ID);
|
Atr = doc.CreateAttribute(ConstStrings.CCF_ID);
|
||||||
|
|
||||||
Atr.Value = sKey;
|
Atr.Value = sKey;
|
||||||
key1.SetAttributeNode(Atr);
|
key1.SetAttributeNode(Atr);
|
||||||
|
|
||||||
//Value
|
//Value
|
||||||
value1 = doc.CreateElement(ConstStrings.CCF_VALUE);
|
value1 = doc.CreateElement(ConstStrings.CCF_VALUE);
|
||||||
value1.InnerText = sValue;
|
value1.InnerText = sValue;
|
||||||
|
|
||||||
key1.AppendChild(value1);
|
key1.AppendChild(value1);
|
||||||
mi_secret.AppendChild(key1);
|
mi_secret.AppendChild(key1);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//Time
|
//Time
|
||||||
XmlElement Time1 = doc.CreateElement(ConstStrings.CCF_TIME);
|
XmlElement Time1 = doc.CreateElement(ConstStrings.CCF_TIME);
|
||||||
|
|
||||||
XmlElement zone1 = doc.CreateElement(ConstStrings.CCF_ZONE);
|
XmlElement zone1 = doc.CreateElement(ConstStrings.CCF_ZONE);
|
||||||
zone1.InnerText = DateTime.Today.ToString();
|
zone1.InnerText = DateTime.Today.ToString();
|
||||||
|
|
||||||
XmlElement cr1 = doc.CreateElement(ConstStrings.CCF_CRTIME);
|
XmlElement cr1 = doc.CreateElement(ConstStrings.CCF_CRTIME);
|
||||||
cr1.InnerText = secret.GetCreateTime().Ticks.ToString();
|
cr1.InnerText = secret.GetCreateTime().Ticks.ToString();
|
||||||
|
|
||||||
XmlElement mod1 = doc.CreateElement(ConstStrings.CCF_MDTIME);
|
XmlElement mod1 = doc.CreateElement(ConstStrings.CCF_MDTIME);
|
||||||
mod1.InnerText = secret.GetModifiedTime().Ticks.ToString();
|
mod1.InnerText = secret.GetModifiedTime().Ticks.ToString();
|
||||||
|
|
||||||
//XmlElement acc1 = doc.CreateElement(ConstStrings.CCF_ACTIME);
|
//XmlElement acc1 = doc.CreateElement(ConstStrings.CCF_ACTIME);
|
||||||
@ -146,14 +146,14 @@ namespace Novell.CASA.DataEngines
|
|||||||
//Time1.AppendChild(acc1);
|
//Time1.AppendChild(acc1);
|
||||||
|
|
||||||
mi_secret.AppendChild(Time1);
|
mi_secret.AppendChild(Time1);
|
||||||
|
|
||||||
|
|
||||||
//Finally Add Secret to Elem
|
//Finally Add Secret to Elem
|
||||||
keychain.AppendChild(mi_secret);
|
keychain.AppendChild(mi_secret);
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
//Console.WriteLine("Secret Not Found: " + se.Current);
|
//Console.WriteLine("Secret Not Found: " + se.Current);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -189,7 +189,7 @@ namespace Novell.CASA.DataEngines
|
|||||||
{
|
{
|
||||||
|
|
||||||
XmlAttributeCollection atcol = secret.Attributes;
|
XmlAttributeCollection atcol = secret.Attributes;
|
||||||
String secretid = atcol["ID"].InnerXml;
|
String secretid = atcol["ID"].InnerXml;
|
||||||
Secret secretVal = store.GetSecret(secretid);
|
Secret secretVal = store.GetSecret(secretid);
|
||||||
|
|
||||||
NameValueCollection nvc = secretVal.GetKeyValueCollection();
|
NameValueCollection nvc = secretVal.GetKeyValueCollection();
|
||||||
|
@ -1,11 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
AssemblyInfo\
|
|
||||||
Common\
|
|
||||||
IDataEngine\
|
|
||||||
miCASAEngine\
|
|
||||||
AD_Facade\
|
|
||||||
KWalletEngine\
|
|
||||||
GKEngine \
|
|
||||||
FFEngine \
|
|
||||||
../c_gui/Logger
|
|
||||||
|
|
@ -1,7 +0,0 @@
|
|||||||
OBJS=\
|
|
||||||
Common\
|
|
||||||
IDataEngine\
|
|
||||||
miCASAEngine\
|
|
||||||
AD_Facade\
|
|
||||||
..\\c_gui\\Logger.cs
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
SRC=\
|
|
||||||
AssemblyInfo.cs\
|
|
||||||
Common.cs\
|
|
||||||
IDataEngine.cs\
|
|
||||||
miCASAEngine.cs\
|
|
||||||
AD_Facade.cs\
|
|
||||||
KWalletEngine.cs\
|
|
||||||
GKEngine.cs \
|
|
||||||
FFEngine.cs \
|
|
||||||
../c_gui/Logger.cs
|
|
@ -1,6 +0,0 @@
|
|||||||
SRC=\
|
|
||||||
Common.cs\
|
|
||||||
IDataEngine.cs\
|
|
||||||
miCASAEngine.cs\
|
|
||||||
AD_Facade.cs\
|
|
||||||
..\\c_gui\\Logger.cs
|
|
130
CASA/autogen.sh
130
CASA/autogen.sh
@ -1,130 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
# Run this to generate all the initial makefiles, etc.
|
|
||||||
|
|
||||||
srcdir=`dirname $0`
|
|
||||||
test -z "$srcdir" && srcdir=.
|
|
||||||
|
|
||||||
ORIGDIR=`pwd`
|
|
||||||
cd $srcdir
|
|
||||||
PROJECT=CASA
|
|
||||||
TEST_TYPE=-f
|
|
||||||
FILE=include/micasa.h
|
|
||||||
|
|
||||||
DIE=0
|
|
||||||
|
|
||||||
(autoconf --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "You must have autoconf installed to compile $PROJECT."
|
|
||||||
echo "Download the appropriate package for your distribution,"
|
|
||||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
|
|
||||||
AUTOMAKE=automake-1.9
|
|
||||||
ACLOCAL=aclocal-1.9
|
|
||||||
|
|
||||||
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
AUTOMAKE=automake
|
|
||||||
ACLOCAL=aclocal
|
|
||||||
}
|
|
||||||
|
|
||||||
($AUTOMAKE --version) < /dev/null > /dev/null 2>&1 || {
|
|
||||||
echo
|
|
||||||
echo "You must have automake installed to compile $PROJECT."
|
|
||||||
echo "Download the appropriate package for your distribution,"
|
|
||||||
echo "or get the source tarball at ftp://ftp.gnu.org/pub/gnu/"
|
|
||||||
DIE=1
|
|
||||||
}
|
|
||||||
|
|
||||||
if test "$DIE" -eq 1; then
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
test $TEST_TYPE $FILE || {
|
|
||||||
echo "You must run this script in the top-level $PROJECT directory"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
|
|
||||||
if test -z "$*"; then
|
|
||||||
echo "I am going to run ./configure with no arguments - if you wish "
|
|
||||||
echo "to pass any to it, please specify them on the $0 command line."
|
|
||||||
fi
|
|
||||||
|
|
||||||
case $CC in
|
|
||||||
*xlc | *xlc\ * | *lcc | *lcc\ *) am_opt=--include-deps;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
for coin in `find $srcdir -name configure.in -print`
|
|
||||||
do
|
|
||||||
dr=`dirname $coin`
|
|
||||||
if test -f $dr/NO-AUTO-GEN; then
|
|
||||||
echo skipping $dr -- flagged as no auto-gen
|
|
||||||
else
|
|
||||||
echo processing $dr
|
|
||||||
macrodirs=`sed -n -e 's,AM_ACLOCAL_INCLUDE(\(.*\)),\1,gp' < $coin`
|
|
||||||
( cd $dr
|
|
||||||
aclocalinclude="$ACLOCAL_FLAGS"
|
|
||||||
for k in $macrodirs; do
|
|
||||||
if test -d $k; then
|
|
||||||
aclocalinclude="$aclocalinclude -I $k"
|
|
||||||
##else
|
|
||||||
## echo "**Warning**: No such directory \`$k'. Ignored."
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
if grep "^AM_GNU_GETTEXT" configure.in >/dev/null; then
|
|
||||||
if grep "sed.*POTFILES" configure.in >/dev/null; then
|
|
||||||
: do nothing -- we still have an old unmodified configure.in
|
|
||||||
else
|
|
||||||
echo "Creating $dr/aclocal.m4 ..."
|
|
||||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
||||||
echo "Running gettextize... Ignore non-fatal messages."
|
|
||||||
echo "no" | gettextize --force --copy
|
|
||||||
echo "Making $dr/aclocal.m4 writable ..."
|
|
||||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
if grep "^AM_GNOME_GETTEXT" configure.in >/dev/null; then
|
|
||||||
echo "Creating $dr/aclocal.m4 ..."
|
|
||||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
||||||
echo "Running gettextize... Ignore non-fatal messages."
|
|
||||||
echo "no" | gettextize --force --copy
|
|
||||||
echo "Making $dr/aclocal.m4 writable ..."
|
|
||||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
||||||
fi
|
|
||||||
if grep "^AM_GLIB_GNU_GETTEXT" configure.in >/dev/null; then
|
|
||||||
echo "Creating $dr/aclocal.m4 ..."
|
|
||||||
test -r $dr/aclocal.m4 || touch $dr/aclocal.m4
|
|
||||||
echo "Running gettextize... Ignore non-fatal messages."
|
|
||||||
echo "no" | glib-gettextize --force --copy
|
|
||||||
echo "Making $dr/aclocal.m4 writable ..."
|
|
||||||
test -r $dr/aclocal.m4 && chmod u+w $dr/aclocal.m4
|
|
||||||
fi
|
|
||||||
if grep "^AM_PROG_LIBTOOL" configure.in >/dev/null; then
|
|
||||||
echo "Running libtoolize..."
|
|
||||||
libtoolize --force --copy
|
|
||||||
fi
|
|
||||||
echo "Running $ACLOCAL $aclocalinclude ..."
|
|
||||||
$ACLOCAL $aclocalinclude
|
|
||||||
if grep "^AM_CONFIG_HEADER" configure.in >/dev/null; then
|
|
||||||
echo "Running autoheader..."
|
|
||||||
autoheader
|
|
||||||
fi
|
|
||||||
echo "Running $AUTOMAKE --gnu $am_opt ..."
|
|
||||||
$AUTOMAKE --add-missing --gnu $am_opt
|
|
||||||
echo "Running autoconf ..."
|
|
||||||
autoconf
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
conf_flags="--config-cache --enable-maintainer-mode --enable-compile-warnings" #--enable-iso-c
|
|
||||||
|
|
||||||
cd "$ORIGDIR"
|
|
||||||
|
|
||||||
if test x$NOCONFIGURE = x; then
|
|
||||||
echo Running $srcdir/configure $conf_flags "$@" ...
|
|
||||||
$srcdir/configure $conf_flags "$@" \
|
|
||||||
&& echo Now type \`make\' to compile $PROJECT || exit 1
|
|
||||||
else
|
|
||||||
echo Skipping configure process.
|
|
||||||
fi
|
|
@ -1,2 +0,0 @@
|
|||||||
CASA
|
|
||||||
targetarch ia64 block!
|
|
@ -1,55 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## creating ENV varaibles
|
|
||||||
SOURCE_DIR=`pwd`
|
|
||||||
export BUILD_ROOT=$SOURCE_DIR/../autobuild/BUILD
|
|
||||||
PACKAGE=CASA
|
|
||||||
VERSION=1.7.$1
|
|
||||||
TEMP_DIR=$SOURCE_DIR/SOURCES
|
|
||||||
BUILT_DIR=$BUILD_ROOT/usr/src/packages/BUILD/CASA-1.7.$1
|
|
||||||
RPMS_DIR=$BUILD_ROOT/usr/src/packages
|
|
||||||
|
|
||||||
##creating tar.gz
|
|
||||||
rm -rf ../bld_tst
|
|
||||||
mkdir ../bld_tst
|
|
||||||
mkdir ../bld_tst/CASA-1.7.$1
|
|
||||||
cp -R ./* ../bld_tst/CASA-1.7.$1
|
|
||||||
|
|
||||||
cd ../bld_tst/CASA-1.7.$1
|
|
||||||
sed -i "s/\(AM_INIT_AUTOMAKE.*\))/\AM_INIT_AUTOMAKE\(CASA, 1\.7\.$1\)/" ./configure.in
|
|
||||||
|
|
||||||
find . -name "*.lux" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "Make*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.c" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cs" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cpp" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.h" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "link*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name ".svn" | xargs rm -rf > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "*ver.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*build.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.mak" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
cd ..
|
|
||||||
tar cjf ../CASA-1.7.$1.tar.bz2 ./CASA-1.7.$1
|
|
||||||
|
|
||||||
#creating spec file
|
|
||||||
cd $SOURCE_DIR
|
|
||||||
mkdir --parents $PRODUCTS_DIR $TEMP_DIR
|
|
||||||
cp ../CASA-1.7.$1.tar.bz2 $TEMP_DIR
|
|
||||||
cp $SOURCE_DIR/package/linux/CASA.spec.in $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@VERSION@/1.7.$1/" $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@PACKAGE@/CASA/" $TEMP_DIR/CASA.spec
|
|
||||||
cp $SOURCE_DIR/CASA.changes $TEMP_DIR
|
|
||||||
cd $TEMP_DIR
|
|
||||||
|
|
||||||
##call autobuild
|
|
||||||
. /opt/SuSE/bin/.profile
|
|
||||||
sudo build --clean
|
|
||||||
|
|
||||||
##copy rpms to temp directoy
|
|
||||||
cp -rf $RPMS_DIR/RPMS $TEMP_DIR
|
|
||||||
cp -rf $RPMS_DIR/SRPMS $TEMP_DIR
|
|
@ -1,56 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## creating ENV varaibles
|
|
||||||
SOURCE_DIR=`pwd`
|
|
||||||
export BUILD_ROOT=$SOURCE_DIR/../autobuild/BUILD
|
|
||||||
PACKAGE=CASA
|
|
||||||
VERSION=1.7.$1
|
|
||||||
TEMP_DIR=$SOURCE_DIR/SOURCES
|
|
||||||
BUILT_DIR=$BUILD_ROOT/usr/src/packages/BUILD/CASA-1.7.$1
|
|
||||||
RPMS_DIR=$BUILD_ROOT/usr/src/packages
|
|
||||||
|
|
||||||
##creating tar.gz
|
|
||||||
rm -rf ../bld_tst
|
|
||||||
mkdir ../bld_tst
|
|
||||||
mkdir ../bld_tst/CASA-1.7.$1
|
|
||||||
cp -R ./* ../bld_tst/CASA-1.7.$1
|
|
||||||
|
|
||||||
cd ../bld_tst/CASA-1.7.$1
|
|
||||||
sed -i "s/\(AM_INIT_AUTOMAKE.*\))/\AM_INIT_AUTOMAKE\(CASA, 1\.7\.$1\)/" ./configure.in
|
|
||||||
|
|
||||||
find . -name "*.lux" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "Make*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.c" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cs" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cpp" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.h" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "link*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name ".svn" | xargs rm -rf > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "*ver.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*build.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.mak" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
cd ..
|
|
||||||
tar cjf ../CASA-1.7.$1.tar.bz2 ./CASA-1.7.$1
|
|
||||||
|
|
||||||
#creating spec file
|
|
||||||
cd $SOURCE_DIR
|
|
||||||
mkdir --parents $PRODUCTS_DIR $TEMP_DIR
|
|
||||||
cp ../CASA-1.7.$1.tar.bz2 $TEMP_DIR
|
|
||||||
cp $SOURCE_DIR/package/linux/CASA.spec.in $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@VERSION@/1.7.$1/" $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@PACKAGE@/CASA/" $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/BuildRequires: /BuildRequires: novell-filesystem /" $TEMP_DIR/CASA.spec
|
|
||||||
cp $SOURCE_DIR/CASA.changes $TEMP_DIR
|
|
||||||
cd $TEMP_DIR
|
|
||||||
|
|
||||||
##call autobuild
|
|
||||||
. /opt/SuSE/bin/.profile
|
|
||||||
sudo build --clean
|
|
||||||
|
|
||||||
##copy rpms to temp directoy
|
|
||||||
cp -rf $RPMS_DIR/RPMS $TEMP_DIR
|
|
||||||
cp -rf $RPMS_DIR/SRPMS $TEMP_DIR
|
|
@ -1,57 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
## creating ENV varaibles
|
|
||||||
SOURCE_DIR=`pwd`
|
|
||||||
export BUILD_ROOT=$SOURCE_DIR/../autobuild/BUILD
|
|
||||||
PACKAGE=CASA
|
|
||||||
VERSION=1.7.$1
|
|
||||||
TEMP_DIR=$SOURCE_DIR/SOURCES
|
|
||||||
BUILT_DIR=$BUILD_ROOT/usr/src/packages/BUILD/CASA-1.7.$1
|
|
||||||
RPMS_DIR=$BUILD_ROOT/usr/src/packages
|
|
||||||
|
|
||||||
##creating tar.gz
|
|
||||||
rm -rf ../bld_tst
|
|
||||||
mkdir ../bld_tst
|
|
||||||
mkdir ../bld_tst/CASA-1.7.$1
|
|
||||||
cp -R ./* ../bld_tst/CASA-1.7.$1
|
|
||||||
|
|
||||||
cd ../bld_tst/CASA-1.7.$1
|
|
||||||
sed -i "s/\(AM_INIT_AUTOMAKE.*\))/\AM_INIT_AUTOMAKE\(CASA, 1\.7\.$1\)/" ./configure.in
|
|
||||||
|
|
||||||
find . -name "*.lux" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "mk*" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "Make*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.c" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cs" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.cpp" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.h" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "link*" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name ".svn" | xargs rm -rf > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.sh" | xargs chmod +x > /dev/null 2>&1
|
|
||||||
find . -name "*ver.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*build.txt" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
find . -name "*.mak" | xargs dos2unix > /dev/null 2>&1
|
|
||||||
cd ..
|
|
||||||
tar cjf ../CASA-1.7.$1.tar.bz2 ./CASA-1.7.$1
|
|
||||||
|
|
||||||
#creating spec file
|
|
||||||
cd $SOURCE_DIR
|
|
||||||
mkdir --parents $PRODUCTS_DIR $TEMP_DIR
|
|
||||||
cp ../CASA-1.7.$1.tar.bz2 $TEMP_DIR
|
|
||||||
cp $SOURCE_DIR/package/linux/CASA.spec.in $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@VERSION@/1.7.$1/" $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/@PACKAGE@/CASA/" $TEMP_DIR/CASA.spec
|
|
||||||
sed -i "s/BuildRequires: /BuildRequires: novell-filesystem /" $TEMP_DIR/CASA.spec
|
|
||||||
cp $SOURCE_DIR/CASA.changes $TEMP_DIR
|
|
||||||
cp $SOURCE_DIR/baselibs.conf $TEMP_DIR
|
|
||||||
cd $TEMP_DIR
|
|
||||||
|
|
||||||
##call autobuild
|
|
||||||
. /opt/SuSE/bin/.profile
|
|
||||||
sudo linux32 build --clean -baselibs
|
|
||||||
|
|
||||||
##copy rpms to temp directoy
|
|
||||||
cp -rf $RPMS_DIR/RPMS $TEMP_DIR
|
|
||||||
cp -rf $RPMS_DIR/SRPMS $TEMP_DIR
|
|
@ -1,18 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
|
|
||||||
# setup for calling "builduser.cmd and buildkernel.cmd" via cygwin's rsh
|
|
||||||
# since ssh is having trouble. This is a hack, but we don't any other way
|
|
||||||
# to solve this at the moment.
|
|
||||||
|
|
||||||
echo "============================================="
|
|
||||||
echo " START - Build casa"
|
|
||||||
echo "============================================="
|
|
||||||
|
|
||||||
/usr/bin/rsh -n -d -l nds_cm localhost "set SVN_REVISION=$SVN_REVISION&& cd /d c:\cygwin\home\nds_cm\build_win\casa~1.7\CASA\ && build_config\win64\builduser.cmd"
|
|
||||||
|
|
||||||
echo "Status: $?"
|
|
||||||
|
|
||||||
echo "============================================="
|
|
||||||
echo " END - Build casa"
|
|
||||||
echo "============================================="
|
|
||||||
|
|
@ -1,27 +0,0 @@
|
|||||||
@echo on
|
|
||||||
rem setup for calling nmake
|
|
||||||
rem setlocal
|
|
||||||
set SVN_REVISION=%1%
|
|
||||||
set casa_root_dir=%cd%
|
|
||||||
rem Do a free (retail) build
|
|
||||||
setlocal
|
|
||||||
mkdir TEMP
|
|
||||||
set TEMP=%cd%\TEMP
|
|
||||||
set TMP=%cd%\TEMP
|
|
||||||
|
|
||||||
call "F:\Program Files\Microsoft Visual Studio 8\VC\vcvarsall.bat"
|
|
||||||
echo "%SVN_REVISION%"
|
|
||||||
|
|
||||||
cd /d %casa_root_dir%
|
|
||||||
cd package\windows\vs_solutions\CASA32-msi
|
|
||||||
..\..\..\..\tools\w32\VersionVDProj\bin\VersionVDProj.exe -msi CASA.vdproj version=1.7.%SVN_REVISION%
|
|
||||||
..\..\..\..\tools\w32\VersionVDProj\bin\VersionVDProj.exe -msi ..\CASA_sdk\CASA_sdk.vdproj version=1.7.%SVN_REVISION%
|
|
||||||
|
|
||||||
|
|
||||||
cd /d %casa_root_dir%
|
|
||||||
cd package\windows\vs_solutions\CASA64-msi
|
|
||||||
..\..\..\..\tools\w32\VersionVDProj\bin\VersionVDProj.exe -msi CASA64.vdproj version=1.7.%SVN_REVISION%
|
|
||||||
..\..\..\..\tools\w32\VersionVDProj\bin\VersionVDProj.exe -msi ..\CASA_sdk_x64\CASA_sdk_x64.vdproj version=1.7.%SVN_REVISION%
|
|
||||||
devenv /rebuild Release CASA-64-32.sln /out build.log
|
|
||||||
|
|
||||||
endlocal
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
HOST_ARCH=`uname -a | grep -c x86_64`
|
|
||||||
if [ $HOST_ARCH -gt 0 ]
|
|
||||||
then ARCH_LIB=64
|
|
||||||
else
|
|
||||||
ARCH_LIB=
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
export MONO_PATH=/usr/lib$ARCH_LIB/
|
|
||||||
mono /usr/bin/CASAcli.exe $1 $2 $3 $4 $5 $6 $7 $8 $9
|
|
@ -1,208 +0,0 @@
|
|||||||
<?xml version="1.0" encoding="Windows-1252"?>
|
|
||||||
<VisualStudioProject
|
|
||||||
ProjectType="Visual C++"
|
|
||||||
Version="8.00"
|
|
||||||
Name="CASAcli"
|
|
||||||
ProjectGUID="{4AFEB4A4-C9D7-4EAD-BCE4-BA84E00ACA23}"
|
|
||||||
RootNamespace="CASAcli"
|
|
||||||
>
|
|
||||||
<Platforms>
|
|
||||||
<Platform
|
|
||||||
Name="Win32"
|
|
||||||
/>
|
|
||||||
</Platforms>
|
|
||||||
<ToolFiles>
|
|
||||||
</ToolFiles>
|
|
||||||
<Configurations>
|
|
||||||
<Configuration
|
|
||||||
Name="Debug|Win32"
|
|
||||||
OutputDirectory=".\Debug"
|
|
||||||
IntermediateDirectory=".\Debug"
|
|
||||||
ConfigurationType="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
TypeLibraryName=".\Debug/sshtst.tlb"
|
|
||||||
HeaderFileName=""
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="0"
|
|
||||||
AdditionalIncludeDirectories="..\include"
|
|
||||||
PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
|
|
||||||
BasicRuntimeChecks="3"
|
|
||||||
RuntimeLibrary="1"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
AssemblerListingLocation=".\Debug/"
|
|
||||||
ObjectFile=".\Debug/"
|
|
||||||
ProgramDataBaseFileName=".\Debug/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
DebugInformationFormat="4"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="_DEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="odbc32.lib odbccp32.lib micasa.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
AdditionalLibraryDirectories="..\micasadk\Release"
|
|
||||||
GenerateDebugInformation="true"
|
|
||||||
SubSystem="1"
|
|
||||||
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="1"
|
|
||||||
InheritedPropertySheets="$(VCInstallDir)VCProjectDefaults\UpgradeFromVC71.vsprops"
|
|
||||||
UseOfMFC="0"
|
|
||||||
ATLMinimizesCRunTimeLibraryUsage="false"
|
|
||||||
CharacterSet="2"
|
|
||||||
>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreBuildEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCustomBuildTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCXMLDataGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCWebServiceProxyGeneratorTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCMIDLTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCCLCompilerTool"
|
|
||||||
Optimization="2"
|
|
||||||
InlineFunctionExpansion="1"
|
|
||||||
AdditionalIncludeDirectories="..\include"
|
|
||||||
PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
|
|
||||||
StringPooling="true"
|
|
||||||
RuntimeLibrary="0"
|
|
||||||
EnableFunctionLevelLinking="true"
|
|
||||||
UsePrecompiledHeader="0"
|
|
||||||
AssemblerListingLocation=".\Release/"
|
|
||||||
ObjectFile=".\Release/"
|
|
||||||
ProgramDataBaseFileName=".\Release/"
|
|
||||||
WarningLevel="3"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
CompileAs="0"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCManagedResourceCompilerTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCResourceCompilerTool"
|
|
||||||
PreprocessorDefinitions="NDEBUG"
|
|
||||||
Culture="1033"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCPreLinkEventTool"
|
|
||||||
/>
|
|
||||||
<Tool
|
|
||||||
Name="VCLinkerTool"
|
|
||||||
AdditionalDependencies="micasa.lib odbc32.lib odbccp32.lib"
|
|
||||||
LinkIncremental="1"
|
|
||||||
SuppressStartupBanner="true"
|
|
||||||
AdditionalLibraryDirectories="..\micasadk\Release"
|
|
||||||
SubSystem="1"
|
|
||||||
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"
|
|
||||||
>
|
|
||||||
<File
|
|
||||||
RelativePath=".\casacli.c"
|
|
||||||
>
|
|
||||||
</File>
|
|
||||||
</Filter>
|
|
||||||
</Files>
|
|
||||||
<Globals>
|
|
||||||
</Globals>
|
|
||||||
</VisualStudioProject>
|
|
45
CASA/cli/CMakeLists.txt
Normal file
45
CASA/cli/CMakeLists.txt
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(CASAcli)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_SOURCE_DIR}/include
|
||||||
|
)
|
||||||
|
|
||||||
|
link_directories(
|
||||||
|
${CMAKE_BINARY_DIR}/micasadk
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -DSSCS_LINUX_PLAT_F -O2 -D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX -DUNIX -DLINUX -DIAPX38 )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
IF(UNIX)
|
||||||
|
add_executable(CASAcli casacli.c)
|
||||||
|
ENDIF(UNIX)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
target_link_libraries(CASAcli micasa)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
install(TARGETS CASAcli DESTINATION ${BIN_INSTALL_DIR})
|
@ -1,119 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CFILES)
|
|
||||||
|
|
||||||
CASAROOT = ..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
if LIB64
|
|
||||||
CASABINDIR = $(CASAROOT)/bin64
|
|
||||||
else
|
|
||||||
CASABINDIR = $(CASAROOT)/bin
|
|
||||||
endif
|
|
||||||
|
|
||||||
|
|
||||||
OBJDIR = $(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
BUILD_VER = 1.1.1
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR = ..
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME = CASAcli
|
|
||||||
MODULE_EXT =
|
|
||||||
|
|
||||||
CFILES = casacli.c
|
|
||||||
|
|
||||||
CSFILES_CSC :=
|
|
||||||
INCLUDES = -I. -I.. -I$(CASAROOT)/include
|
|
||||||
EXTRA_CFLAGS =
|
|
||||||
RESOURCES =
|
|
||||||
CFLAGS += $(EXTRA_CFLAGS) $(INCLUDES) $(DEFINES)
|
|
||||||
LIBS = -L$(CASALIBDIR)/$(TARGET_CFG)
|
|
||||||
|
|
||||||
LDFLAGS = -lmicasa
|
|
||||||
|
|
||||||
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)
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME)
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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): $(OBJDIR) $(OBJS)
|
|
||||||
@echo [======== Linking $@ ========]
|
|
||||||
cc $(LDFLAGS) -o $@ $(OBJS) $(LIBS)
|
|
||||||
cp -f $(OBJDIR)/$(MODULE_NAME) $(CASABINDIR)/$(TARGET_CFG)/$(MODULE_NAME)
|
|
||||||
$(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)
|
|
||||||
$(mkinstalldirs) $(DESTDIR)$(libdir)
|
|
||||||
$(INSTALL_PROGRAM) $(OBJDIR)/$(MODULE_NAME) $(DESTDIR)$(libdir)/
|
|
||||||
|
|
||||||
uninstall-local:
|
|
||||||
cd $(DESTDIR)$(libdir); rm -f $(OBJDIR)/$(MODULE_NAME)
|
|
||||||
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
|
|
||||||
|
|
@ -1,33 +0,0 @@
|
|||||||
using System.Reflection;
|
|
||||||
using System.Runtime.CompilerServices;
|
|
||||||
using System.Runtime.InteropServices;
|
|
||||||
|
|
||||||
// General Information about an assembly is controlled through the following
|
|
||||||
// set of attributes. Change these attribute values to modify the information
|
|
||||||
// associated with an assembly.
|
|
||||||
[assembly: AssemblyTitle("CASAManagerCLI")]
|
|
||||||
[assembly: AssemblyDescription("")]
|
|
||||||
[assembly: AssemblyConfiguration("")]
|
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
|
||||||
[assembly: AssemblyProduct("CASAManagerCLI")]
|
|
||||||
[assembly: AssemblyCopyright("Copyright © Novell, Inc 2007")]
|
|
||||||
[assembly: AssemblyTrademark("")]
|
|
||||||
[assembly: AssemblyCulture("")]
|
|
||||||
|
|
||||||
// Setting ComVisible to false makes the types in this assembly not visible
|
|
||||||
// to COM components. If you need to access a type in this assembly from
|
|
||||||
// COM, set the ComVisible attribute to true on that type.
|
|
||||||
[assembly: ComVisible(false)]
|
|
||||||
|
|
||||||
// The following GUID is for the ID of the typelib if this project is exposed to COM
|
|
||||||
[assembly: Guid("dc4be258-86ca-4284-bbe1-23b64a01e197")]
|
|
||||||
|
|
||||||
// Version information for an assembly consists of the following four values:
|
|
||||||
//
|
|
||||||
// Major Version
|
|
||||||
// Minor Version
|
|
||||||
// Build Number
|
|
||||||
// Revision
|
|
||||||
//
|
|
||||||
[assembly: AssemblyVersion("1.0.0.0")]
|
|
||||||
[assembly: AssemblyFileVersion("1.0.0.0")]
|
|
@ -39,23 +39,23 @@
|
|||||||
#include <sscs_cache.h>
|
#include <sscs_cache.h>
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Global data
|
* Global data
|
||||||
*/
|
*/
|
||||||
int optErr = 1; // if error message should be printed
|
int optErr = 1; // if error message should be printed
|
||||||
int optIdx = 1; // index into parent argv vector
|
int optIdx = 1; // index into parent argv vector
|
||||||
int optionString = 1; // character checked for validity
|
int optionString = 1; // character checked for validity
|
||||||
char *optArg = NULL; // argument associated with option
|
char *optArg = NULL; // argument associated with option
|
||||||
char *credName = NULL;
|
char *credName = NULL;
|
||||||
char *value = NULL;
|
char *value = NULL;
|
||||||
char *keyName = NULL;
|
char *keyName = NULL;
|
||||||
char *uid = NULL;
|
char *uid = NULL;
|
||||||
|
|
||||||
int iAction = 0;
|
int iAction = 0;
|
||||||
int iUseSessionKeyChain = 0;
|
int iUseSessionKeyChain = 0;
|
||||||
|
|
||||||
|
|
||||||
#define BADCHAR (int)'?'
|
#define BADCHAR (int)'?'
|
||||||
#define ERRMSG ""
|
#define ERRMSG ""
|
||||||
#define SETCRED 1
|
#define SETCRED 1
|
||||||
#define GETCRED 2
|
#define GETCRED 2
|
||||||
@ -74,41 +74,41 @@ void Pause()
|
|||||||
} /* end of Pause */
|
} /* end of Pause */
|
||||||
|
|
||||||
|
|
||||||
void CloseStore(void *context)
|
void CloseStore(void *context)
|
||||||
{
|
{
|
||||||
miCASACloseSecretStoreCache(context, 0, NULL);
|
miCASACloseSecretStoreCache(context, 0, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
void* OpenStore(SSCS_KEYCHAIN_ID_T *kc)
|
void* OpenStore(SSCS_KEYCHAIN_ID_T *kc)
|
||||||
{
|
{
|
||||||
SSCS_SECRETSTORE_T store = {0};
|
SSCS_SECRETSTORE_T store = {0};
|
||||||
void *context = 0;
|
void *context = 0;
|
||||||
|
|
||||||
// open secretStore
|
// open secretStore
|
||||||
sscs_Utf8Strcpy(store.ssName, SSCS_DEFAULT_SECRETSTORE_ID);
|
sscs_Utf8Strcpy(store.ssName, SSCS_DEFAULT_SECRETSTORE_ID);
|
||||||
store.version = 1;
|
store.version = 1;
|
||||||
context = miCASAOpenSecretStoreCache(&store, 0, NULL);
|
context = miCASAOpenSecretStoreCache(&store, 0, NULL);
|
||||||
|
|
||||||
if (context == NULL)
|
if (context == NULL)
|
||||||
{
|
{
|
||||||
printf("Could not open miCASA store\r\n");
|
printf("Could not open miCASA store\r\n");
|
||||||
return NULL; // NSSCS_E_SYSTEM_FAILURE;
|
return NULL; // NSSCS_E_SYSTEM_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (iUseSessionKeyChain)
|
if (iUseSessionKeyChain)
|
||||||
{
|
{
|
||||||
sscs_Utf8Strcpy(kc->keychainID, SSCS_SESSION_KEY_CHAIN_ID);
|
sscs_Utf8Strcpy(kc->keychainID, SSCS_SESSION_KEY_CHAIN_ID);
|
||||||
kc->len = SSCS_S_KC_ID_CHARS;
|
kc->len = SSCS_S_KC_ID_CHARS;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sscs_Utf8Strcpy(kc->keychainID, SSCS_SERVER_KEY_CHAIN_ID);
|
sscs_Utf8Strcpy(kc->keychainID, SSCS_SERVER_KEY_CHAIN_ID);
|
||||||
kc->len = SSCS_S_KC_ID_SERVER_CHARS;
|
kc->len = SSCS_S_KC_ID_SERVER_CHARS;
|
||||||
}
|
}
|
||||||
|
|
||||||
return context;
|
return context;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
void SetUID(int targetUID)
|
void SetUID(int targetUID)
|
||||||
@ -194,55 +194,55 @@ void DisplaySecretEx(void *context,
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void ListCredentials()
|
void ListCredentials()
|
||||||
{
|
{
|
||||||
int rcode = 0;
|
int rcode = 0;
|
||||||
int i = 0;
|
int i = 0;
|
||||||
SSCS_SECRETSTORE_T store = {0};
|
SSCS_SECRETSTORE_T store = {0};
|
||||||
SSCS_SECRET_ID_T appSecretId = {0};
|
SSCS_SECRET_ID_T appSecretId = {0};
|
||||||
SSCS_SECRET_ID_T sharedSecretId = {0};
|
SSCS_SECRET_ID_T sharedSecretId = {0};
|
||||||
|
|
||||||
void *context;
|
void *context;
|
||||||
SSCS_KEYCHAIN_ID_T kc = {0};
|
SSCS_KEYCHAIN_ID_T kc = {0};
|
||||||
|
|
||||||
SSCS_SH_SECRET_ID_LIST_T secretIDList = {0};
|
SSCS_SH_SECRET_ID_LIST_T secretIDList = {0};
|
||||||
context = OpenStore(&kc);
|
context = OpenStore(&kc);
|
||||||
if (context == NULL)
|
if (context == NULL)
|
||||||
{
|
{
|
||||||
printf("Could not open miCASA store\r\n");
|
printf("Could not open miCASA store\r\n");
|
||||||
return; // NSSCS_E_SYSTEM_FAILURE;
|
return; // NSSCS_E_SYSTEM_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
secretIDList.secIDList = malloc(128 * sizeof(SSCS_SH_SECRET_ID_T));
|
secretIDList.secIDList = malloc(128 * sizeof(SSCS_SH_SECRET_ID_T));
|
||||||
if (secretIDList.secIDList == NULL)
|
if (secretIDList.secIDList == NULL)
|
||||||
{
|
{
|
||||||
printf("Memory failure\r\n");
|
printf("Memory failure\r\n");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// set size of buffer
|
// set size of buffer
|
||||||
secretIDList.enumHandle = 0;
|
secretIDList.enumHandle = 0;
|
||||||
secretIDList.returnedIDs = 128;
|
secretIDList.returnedIDs = 128;
|
||||||
|
|
||||||
rcode = miCASAEnumerateSecretIDs(context,
|
rcode = miCASAEnumerateSecretIDs(context,
|
||||||
&kc, //SSCS_KEYCHAIN_ID_T * keyChainID,
|
&kc, //SSCS_KEYCHAIN_ID_T * keyChainID,
|
||||||
0, //uint32_t ssFlags,
|
0, //uint32_t ssFlags,
|
||||||
NULL, //SSCS_SRCH_KEY_T * searchKey,
|
NULL, //SSCS_SRCH_KEY_T * searchKey,
|
||||||
&secretIDList, //SSCS_SH_SECRET_ID_LIST_T * secretIDList,
|
&secretIDList, //SSCS_SH_SECRET_ID_LIST_T * secretIDList,
|
||||||
NULL //SSCS_EXT_T * ext
|
NULL //SSCS_EXT_T * ext
|
||||||
);
|
);
|
||||||
|
|
||||||
if (rcode)
|
if (rcode)
|
||||||
{
|
{
|
||||||
printf("Enumerate secretIDs returned %x\r\n", rcode);
|
printf("Enumerate secretIDs returned %x\r\n", rcode);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("Found %d credential sets\r\n", secretIDList.returnedIDs);
|
printf("Found %d credential sets\r\n", secretIDList.returnedIDs);
|
||||||
for (i=0; i<secretIDList.returnedIDs; i++)
|
for (i=0; i<secretIDList.returnedIDs; i++)
|
||||||
{
|
{
|
||||||
//printf("%s\r\n", secretIDList.secIDList[i].name);
|
//printf("%s\r\n", secretIDList.secIDList[i].name);
|
||||||
DisplaySecretEx(context, &kc, &secretIDList.secIDList[i]);
|
DisplaySecretEx(context, &kc, &secretIDList.secIDList[i]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -304,16 +304,16 @@ void DeleteAllCredentials()
|
|||||||
printf("Deleting %s\r\n", secretIDList.secIDList[i].name);
|
printf("Deleting %s\r\n", secretIDList.secIDList[i].name);
|
||||||
//DisplaySecretEx(context, &kc, &secretIDList.secIDList[i]);
|
//DisplaySecretEx(context, &kc, &secretIDList.secIDList[i]);
|
||||||
miCASARemoveSecret(context, &kc, 0, &secretIDList.secIDList[i], NULL, NULL);
|
miCASARemoveSecret(context, &kc, 0, &secretIDList.secIDList[i], NULL, NULL);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (secretIDList.secIDList)
|
if (secretIDList.secIDList)
|
||||||
free(secretIDList.secIDList);
|
free(secretIDList.secIDList);
|
||||||
|
|
||||||
// close it
|
// close it
|
||||||
CloseStore(context);
|
CloseStore(context);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WriteKey(char* keyvalue)
|
void WriteKey(char* keyvalue)
|
||||||
{
|
{
|
||||||
@ -333,8 +333,8 @@ void WriteKey(char* keyvalue)
|
|||||||
return; // NSSCS_E_SYSTEM_FAILURE;
|
return; // NSSCS_E_SYSTEM_FAILURE;
|
||||||
}
|
}
|
||||||
|
|
||||||
appSecretId.len = sscs_Utf8Strlen(credName) + 1;
|
appSecretId.len = sscs_Utf8Strlen(credName) + 1;
|
||||||
sscs_Utf8Strcpy(appSecretId.id, credName);
|
sscs_Utf8Strcpy(appSecretId.id, credName);
|
||||||
|
|
||||||
value = keyvalue;
|
value = keyvalue;
|
||||||
|
|
||||||
@ -374,98 +374,98 @@ void DisplaySecret(SSCS_SH_SECRET_ID_T *secret)
|
|||||||
|
|
||||||
void RemoveSecret(SSCS_SH_SECRET_ID_T *secret)
|
void RemoveSecret(SSCS_SH_SECRET_ID_T *secret)
|
||||||
{
|
{
|
||||||
void *context = 0;
|
void *context = 0;
|
||||||
int32_t rcode = 0;
|
int32_t rcode = 0;
|
||||||
|
|
||||||
SSCS_KEYCHAIN_ID_T kc;
|
SSCS_KEYCHAIN_ID_T kc;
|
||||||
context = OpenStore(&kc);
|
context = OpenStore(&kc);
|
||||||
|
|
||||||
if (context != NULL)
|
if (context != NULL)
|
||||||
{
|
{
|
||||||
miCASARemoveSecret(context, &kc, 0, secret, NULL, NULL);
|
miCASARemoveSecret(context, &kc, 0, secret, NULL, NULL);
|
||||||
CloseStore(context);
|
CloseStore(context);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* */
|
/* */
|
||||||
/*
|
/*
|
||||||
* NAME - sss_GetOpt
|
* NAME - sss_GetOpt
|
||||||
*
|
*
|
||||||
* DESCRIPTION
|
* DESCRIPTION
|
||||||
* An implementation of the Unix getopt() function.
|
* An implementation of the Unix getopt() function.
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
int sss_GetOpt( int nArgc, char **nArgv, char *optStr )
|
int sss_GetOpt( int nArgc, char **nArgv, char *optStr )
|
||||||
{ /* beginning of the call */
|
{ /* beginning of the call */
|
||||||
/* ########################## DECLARATIONS START HERE ######################### */
|
/* ########################## DECLARATIONS START HERE ######################### */
|
||||||
|
|
||||||
static char *place = ERRMSG;
|
static char *place = ERRMSG;
|
||||||
char *nxtOpt;
|
char *nxtOpt;
|
||||||
|
|
||||||
/* ############################## CODE STARTS HERE ############################ */
|
/* ############################## CODE STARTS HERE ############################ */
|
||||||
|
|
||||||
if(!*place)
|
if(!*place)
|
||||||
{
|
{
|
||||||
if((optIdx >= nArgc) ||
|
if((optIdx >= nArgc) ||
|
||||||
((*(place = nArgv[optIdx]) != '-')
|
((*(place = nArgv[optIdx]) != '-')
|
||||||
&& (*(place = nArgv[optIdx]) != '/')) ||
|
&& (*(place = nArgv[optIdx]) != '/')) ||
|
||||||
(!*++place))
|
(!*++place))
|
||||||
{
|
{
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
|
|
||||||
if((*place == '-') || (*place == '/'))
|
if((*place == '-') || (*place == '/'))
|
||||||
{
|
{
|
||||||
++optIdx;
|
++optIdx;
|
||||||
return(-1);
|
return(-1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if((optionString = (int)*place++) == (int)'=' ||
|
if((optionString = (int)*place++) == (int)'=' ||
|
||||||
!(nxtOpt = strchr(optStr, optionString)))
|
!(nxtOpt = strchr(optStr, optionString)))
|
||||||
{
|
{
|
||||||
if(!*place)
|
if(!*place)
|
||||||
{
|
{
|
||||||
++optIdx;
|
++optIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
return(BADCHAR);
|
return(BADCHAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(*++nxtOpt != '=')
|
if(*++nxtOpt != '=')
|
||||||
{
|
{
|
||||||
optArg = NULL;
|
optArg = NULL;
|
||||||
if(!*place)
|
if(!*place)
|
||||||
{
|
{
|
||||||
++optIdx;
|
++optIdx;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(*place)
|
if(*place)
|
||||||
{
|
{
|
||||||
optArg = place + 1;
|
optArg = place + 1;
|
||||||
}
|
}
|
||||||
else if(nArgc <= ++optIdx)
|
else if(nArgc <= ++optIdx)
|
||||||
{
|
{
|
||||||
place = ERRMSG;
|
place = ERRMSG;
|
||||||
return(BADCHAR);
|
return(BADCHAR);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
optArg = nArgv[optIdx];
|
optArg = nArgv[optIdx];
|
||||||
}
|
}
|
||||||
|
|
||||||
place = ERRMSG;
|
place = ERRMSG;
|
||||||
++optIdx;
|
++optIdx;
|
||||||
}
|
}
|
||||||
|
|
||||||
//printf("option string %d\r\n", optionString);
|
//printf("option string %d\r\n", optionString);
|
||||||
return(optionString);
|
return(optionString);
|
||||||
|
|
||||||
/* ########################## CODE ENDS HERE ######################### */
|
/* ########################## CODE ENDS HERE ######################### */
|
||||||
} /* end of GetOPt */
|
} /* end of GetOPt */
|
||||||
|
|
||||||
|
|
||||||
@ -501,20 +501,20 @@ int main
|
|||||||
printf("Try 'CASAcli -h' for more infomation\r\n");
|
printf("Try 'CASAcli -h' for more infomation\r\n");
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
while ((c = sss_GetOpt(argc, argv, "lLoOhHsSgGdDrRn=N=k=K=u=U=v=V=")) != -1)
|
while ((c = sss_GetOpt(argc, argv, "lLoOhHsSgGdDrRn=N=k=K=u=U=v=V=")) != -1)
|
||||||
#endif
|
#endif
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
while ((c = sss_GetOpt(argc, argv, "lLoOhHsSgGdDrRn=N=k=K=u=U=")) != -1)
|
while ((c = sss_GetOpt(argc, argv, "lLoOhHsSgGdDrRn=N=k=K=u=U=")) != -1)
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
//printf("processing arg \r\n");
|
//printf("processing arg \r\n");
|
||||||
switch(c)
|
switch(c)
|
||||||
{
|
{
|
||||||
case 'l':
|
case 'l':
|
||||||
case 'L':
|
case 'L':
|
||||||
iAction = LISTCREDS;
|
iAction = LISTCREDS;
|
||||||
//ListCredentials();
|
//ListCredentials();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'o':
|
case 'o':
|
||||||
@ -525,102 +525,102 @@ int main
|
|||||||
case 'r':
|
case 'r':
|
||||||
case 'R':
|
case 'R':
|
||||||
iAction = REMOVECREDS;
|
iAction = REMOVECREDS;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 's':
|
case 's':
|
||||||
case 'S':
|
case 'S':
|
||||||
iAction = SETCRED;
|
iAction = SETCRED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'g':
|
case 'g':
|
||||||
case 'G':
|
case 'G':
|
||||||
iAction = GETCRED;
|
iAction = GETCRED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'd':
|
case 'd':
|
||||||
case 'D':
|
case 'D':
|
||||||
iAction = DELCRED;
|
iAction = DELCRED;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'n':
|
case 'n':
|
||||||
case 'N':
|
case 'N':
|
||||||
credName = optArg;
|
credName = optArg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case 'k':
|
case 'k':
|
||||||
case 'K':
|
case 'K':
|
||||||
keyName = optArg;
|
keyName = optArg;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
case 'v':
|
case 'v':
|
||||||
case 'V':
|
case 'V':
|
||||||
value = optArg;
|
value = optArg;
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
case 'u':
|
case 'u':
|
||||||
case 'U':
|
case 'U':
|
||||||
uid = optArg;
|
uid = optArg;
|
||||||
printf("UID: %s\r\n", uid);
|
printf("UID: %s\r\n", uid);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
||||||
default:
|
default:
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
printf(" Description:\r\n");
|
printf(" Description:\r\n");
|
||||||
printf(" This program is a simple utility to display, set, and delete\r\n");
|
printf(" This program is a simple utility to display, set, and delete\r\n");
|
||||||
printf(" credentials used by services on this computer. Because credentials\r\n");
|
printf(" credentials used by services on this computer. Because credentials\r\n");
|
||||||
printf(" are scoped by the LUID of the running process, you must run\r\n");
|
printf(" are scoped by the LUID of the running process, you must run\r\n");
|
||||||
printf(" this utility as the same LUID as the service being configured.\r\n");
|
printf(" this utility as the same LUID as the service being configured.\r\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
printf(" Description:\r\n");
|
printf(" Description:\r\n");
|
||||||
printf(" This program is a simple utility to display, set, and delete\r\n");
|
printf(" This program is a simple utility to display, set, and delete\r\n");
|
||||||
printf(" credentials used by services on this computer. Because credentials\r\n");
|
printf(" credentials used by services on this computer. Because credentials\r\n");
|
||||||
printf(" are scoped by the UID of the running process, you must run\r\n");
|
printf(" are scoped by the UID of the running process, you must run\r\n");
|
||||||
printf(" this utility as the same UID as the service being configured.\r\n");
|
printf(" this utility as the same UID as the service being configured.\r\n");
|
||||||
#endif
|
#endif
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
|
|
||||||
printf(" Usage: CASAcli [OPTIONS]\r\n");
|
printf(" Usage: CASAcli [OPTIONS]\r\n");
|
||||||
printf(" Options\r\n");
|
printf(" Options\r\n");
|
||||||
printf(" -l List all credentials, keys, and values used by services\r\n");
|
printf(" -l List all credentials, keys, and values used by services\r\n");
|
||||||
printf(" -h Displays this help screen\r\n");
|
printf(" -h Displays this help screen\r\n");
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
printf(" -s Sets the key and value of the named credential\r\n");
|
printf(" -s Sets the key and value of the named credential\r\n");
|
||||||
printf(" -g Gets and displays the keys and values of the named credential\r\n");
|
printf(" -g Gets and displays the keys and values of the named credential\r\n");
|
||||||
printf(" -d Delete all keys and values of the named credential\r\n");
|
printf(" -d Delete all keys and values of the named credential\r\n");
|
||||||
printf(" -r Removes all credentials scoped for named UID, or UID of this process\r\n");
|
printf(" -r Removes all credentials scoped for named UID, or UID of this process\r\n");
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
printf(" -n [name] Specify the credential name\r\n");
|
printf(" -n [name] Specify the credential name\r\n");
|
||||||
printf(" -k [key] Specify the key name to set\r\n");
|
printf(" -k [key] Specify the key name to set\r\n");
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
printf(" -v [value] Specify the value for this key being set\r\n");
|
printf(" -v [value] Specify the value for this key being set\r\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
printf(" -u [uid] Specify the UID of the process\r\n");
|
printf(" -u [uid] Specify the UID of the process\r\n");
|
||||||
#endif
|
#endif
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
printf(" -o Override services keychain and use current user(UID) keychain for operation\r\n");
|
printf(" -o Override services keychain and use current user(UID) keychain for operation\r\n");
|
||||||
|
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
|
|
||||||
printf(" Examples\r\n");
|
printf(" Examples\r\n");
|
||||||
printf(" CASAcli -g -n MyCredential\r\n");
|
printf(" CASAcli -g -n MyCredential\r\n");
|
||||||
printf(" CASAcli -d -n MyCredential\r\n");
|
printf(" CASAcli -d -n MyCredential\r\n");
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
printf(" CASAcli -s -n MyCredential -k CN -v admin\r\n");
|
printf(" CASAcli -s -n MyCredential -k CN -v admin\r\n");
|
||||||
printf(" CASAcli -s -n MyCredential -k Password -v thepassword\r\n");
|
printf(" CASAcli -s -n MyCredential -k Password -v thepassword\r\n");
|
||||||
#endif
|
#endif
|
||||||
#ifdef LINUX
|
#ifdef LINUX
|
||||||
printf(" KEYVALUE=admin CASAcli -s -n MyCredential -k CN\r\n");
|
printf(" KEYVALUE=admin CASAcli -s -n MyCredential -k CN\r\n");
|
||||||
printf(" KEYVALUE=password CASAcli -s -n MyCredential -k Password\r\n");
|
printf(" KEYVALUE=password CASAcli -s -n MyCredential -k Password\r\n");
|
||||||
#endif
|
#endif
|
||||||
printf("\r\n");
|
printf("\r\n");
|
||||||
|
|
||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// set the UID if there is one
|
// set the UID if there is one
|
||||||
@ -715,16 +715,16 @@ int main
|
|||||||
case DELCRED:
|
case DELCRED:
|
||||||
{
|
{
|
||||||
printf("Deleting %s\r\n", credName);
|
printf("Deleting %s\r\n", credName);
|
||||||
tempSecret.type = 2;
|
tempSecret.type = 2;
|
||||||
tempSecret.len = sscs_Utf8Strlen(credName) + 1;
|
tempSecret.len = sscs_Utf8Strlen(credName) + 1;
|
||||||
if (tempSecret.len < NSSCS_MAX_SECRET_ID_LEN)
|
if (tempSecret.len < NSSCS_MAX_SECRET_ID_LEN)
|
||||||
{
|
{
|
||||||
sscs_Utf8Strncpy(tempSecret.name, credName, tempSecret.len);
|
sscs_Utf8Strncpy(tempSecret.name, credName, tempSecret.len);
|
||||||
RemoveSecret(&tempSecret);
|
RemoveSecret(&tempSecret);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
printf("Credential name too long\r\n");
|
printf("Credential name too long\r\n");
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
7
CASA/cmake/modules/CMakeCSharpCompiler.cmake.in
Normal file
7
CASA/cmake/modules/CMakeCSharpCompiler.cmake.in
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
set(CMAKE_CSharp_COMPILER "@CMAKE_CSharp_COMPILER@")
|
||||||
|
set(CMAKE_CSharp_COMPILER_LOADED @CMAKE_CSharp_COMPILER_LOADED@)
|
||||||
|
set(GAC_DIR @GAC_DIR@)
|
||||||
|
|
||||||
|
set(_csc_default_lib_path @_csc_default_lib_path@ CACHE INTERNAL "")
|
||||||
|
|
||||||
|
set(CMAKE_CSharp_COMPILER_ENV_VAR "CSC")
|
321
CASA/cmake/modules/CMakeCSharpInformation.cmake
Normal file
321
CASA/cmake/modules/CMakeCSharpInformation.cmake
Normal file
@ -0,0 +1,321 @@
|
|||||||
|
# copyright (c) 2007, 2009 Arno Rehn arno@arnorehn.de
|
||||||
|
# copyright (c) 2008 Helio castro helio@kde.org
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the GPL license.
|
||||||
|
|
||||||
|
# This file adds support for the C# language to cmake.
|
||||||
|
#
|
||||||
|
# It adds the following functions:
|
||||||
|
#
|
||||||
|
# csharp_add_executable (<name> <source files> [UNSAFE] [WINEXE] [REFERENCES <references>]
|
||||||
|
# [COMPILE_FLAGS <flags to be passed to the compiler>]
|
||||||
|
# [COMPILE_DEFINITIONS <additional definitions>] )
|
||||||
|
#
|
||||||
|
# csharp_add_library (<name> <source files> [UNSAFE] [REFERENCES <references>]
|
||||||
|
# [COMPILE_FLAGS <flags to be passed to the compiler>]
|
||||||
|
# [COMPILE_DEFINITIONS <additional definitions>] )
|
||||||
|
#
|
||||||
|
# install_assembly (<target name> DESTINATION <assembly destination directory>
|
||||||
|
# [PACKAGE <package name>] )
|
||||||
|
# The assembly destination directory is only used if we compile with Visual C# and thus can't use gacutil.
|
||||||
|
# If a package is specified and a file called <target>.pc.cmake exists in the current source directory,
|
||||||
|
# this function will configure the template file. All occurences of @assembly@ will be replaced with
|
||||||
|
# the path to the assembly. The resulting <target>.pc file will be installed to
|
||||||
|
# <CMAKE_INSTALL_PREFIX>/lib/pkgconfig/ . If you want to have a different basename for the template file,
|
||||||
|
# set the 'pkg-config_template_basename' property of the target with set_property.
|
||||||
|
#
|
||||||
|
# Example:
|
||||||
|
# ------------------------------
|
||||||
|
# cmake code:
|
||||||
|
# ------------------------------
|
||||||
|
# csharp_add_library(foo foo.cs)
|
||||||
|
# install_assembly(foo DESTINATION lib)
|
||||||
|
#
|
||||||
|
# ------------------------------
|
||||||
|
# contents of foo.pc.cmake file:
|
||||||
|
# ------------------------------
|
||||||
|
# Name: Foo
|
||||||
|
# Description: Foo library
|
||||||
|
# Version: 1.0
|
||||||
|
# Libs: -r:@assembly@
|
||||||
|
|
||||||
|
# ----- support macros -----
|
||||||
|
macro(GET_LIBRARY_OUTPUT_DIR var)
|
||||||
|
if (NOT LIBRARY_OUTPUT_PATH)
|
||||||
|
set(${var} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
else (NOT LIBRARY_OUTPUT_PATH)
|
||||||
|
set(${var} ${LIBRARY_OUTPUT_PATH})
|
||||||
|
endif (NOT LIBRARY_OUTPUT_PATH)
|
||||||
|
endmacro(GET_LIBRARY_OUTPUT_DIR)
|
||||||
|
|
||||||
|
macro(GET_EXECUTABLE_OUTPUT_DIR var)
|
||||||
|
if (NOT EXECUTABLE_OUTPUT_PATH)
|
||||||
|
set(${var} ${CMAKE_CURRENT_BINARY_DIR})
|
||||||
|
else (NOT EXECUTABLE_OUTPUT_PATH)
|
||||||
|
set(${var} ${EXECUTABLE_OUTPUT_PATH})
|
||||||
|
endif (NOT EXECUTABLE_OUTPUT_PATH)
|
||||||
|
endmacro(GET_EXECUTABLE_OUTPUT_DIR)
|
||||||
|
|
||||||
|
# This does just not always work... why?!
|
||||||
|
# macro(MAKE_PROPER_FILE_LIST var)
|
||||||
|
# foreach(file ${ARGN})
|
||||||
|
# if (IS_ABSOLUTE "${file}")
|
||||||
|
# file(GLOB globbed "${file}")
|
||||||
|
# else (IS_ABSOLUTE "${file}")
|
||||||
|
# file(GLOB globbed "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
|
||||||
|
# endif (IS_ABSOLUTE "${file}")
|
||||||
|
#
|
||||||
|
# foreach (glob ${globbed})
|
||||||
|
# file(TO_NATIVE_PATH "${glob}" native)
|
||||||
|
# list(APPEND proper_file_list "${native}")
|
||||||
|
# endforeach (glob ${globbed})
|
||||||
|
# endforeach(file ${ARGN})
|
||||||
|
# endmacro(MAKE_PROPER_FILE_LIST)
|
||||||
|
|
||||||
|
# ----- actual functions -----
|
||||||
|
|
||||||
|
# ----- add an executable -----
|
||||||
|
function(csharp_add_executable target)
|
||||||
|
set(current "s")
|
||||||
|
set(dotnet_target "exe")
|
||||||
|
|
||||||
|
foreach (arg ${ARGN})
|
||||||
|
file(TO_NATIVE_PATH ${arg} native_path)
|
||||||
|
|
||||||
|
if (arg STREQUAL "UNSAFE")
|
||||||
|
set (unsafe "/unsafe")
|
||||||
|
elseif (arg STREQUAL "WINEXE")
|
||||||
|
set (dotnet_target "winexe")
|
||||||
|
elseif (arg STREQUAL "REFERENCES")
|
||||||
|
set (current "r")
|
||||||
|
elseif (arg STREQUAL "COMPILE_FLAGS")
|
||||||
|
set (current "flags")
|
||||||
|
elseif (arg STREQUAL "COMPILE_DEFINITIONS")
|
||||||
|
set (current "defs")
|
||||||
|
else (arg STREQUAL "UNSAFE")
|
||||||
|
if (current STREQUAL "s")
|
||||||
|
# source file
|
||||||
|
list(APPEND sources ${native_path})
|
||||||
|
elseif (current STREQUAL "r")
|
||||||
|
# reference
|
||||||
|
if (TARGET ${arg})
|
||||||
|
# this is an existing target - get the target assembly
|
||||||
|
get_property(prop TARGET ${arg} PROPERTY _assembly)
|
||||||
|
list(APPEND references "/r:${prop}")
|
||||||
|
list(APPEND deps ${arg})
|
||||||
|
else (TARGET ${arg})
|
||||||
|
# something different (e.g. assembly name in the gac)
|
||||||
|
list(APPEND references "/r:${native_path}")
|
||||||
|
endif (TARGET ${arg})
|
||||||
|
elseif (current STREQUAL "flags")
|
||||||
|
list(APPEND _csc_opts "${arg}")
|
||||||
|
elseif (current STREQUAL "defs")
|
||||||
|
list(APPEND _csc_opts "/define:${arg}")
|
||||||
|
endif (current STREQUAL "s")
|
||||||
|
endif (arg STREQUAL "UNSAFE")
|
||||||
|
endforeach (arg ${ARGN})
|
||||||
|
|
||||||
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
list(APPEND _csc_opts "/define:DEBUG")
|
||||||
|
list(APPEND _csc_opts "/debug")
|
||||||
|
endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
|
||||||
|
get_executable_output_dir(outdir)
|
||||||
|
if (NOT IS_ABSOLUTE "${outdir}")
|
||||||
|
message(FATAL_ERROR "Directory \"${outdir}\" is not an absolute path!")
|
||||||
|
endif (NOT IS_ABSOLUTE "${outdir}")
|
||||||
|
|
||||||
|
file(RELATIVE_PATH relative_path "${CMAKE_BINARY_DIR}" "${outdir}/${target}.exe")
|
||||||
|
file(TO_NATIVE_PATH "${outdir}/${target}" native_target)
|
||||||
|
|
||||||
|
# inlined - this doesn't work as a macro :(
|
||||||
|
foreach(file ${sources})
|
||||||
|
file(TO_CMAKE_PATH "${file}" cmake_file)
|
||||||
|
|
||||||
|
if (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
file(GLOB globbed "${cmake_file}")
|
||||||
|
else (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
file(GLOB globbed "${CMAKE_CURRENT_SOURCE_DIR}/${cmake_file}")
|
||||||
|
endif (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
|
||||||
|
foreach (glob ${globbed})
|
||||||
|
file(TO_CMAKE_PATH "${glob}" cmake_path)
|
||||||
|
list(APPEND cmake_file_list "${cmake_path}")
|
||||||
|
endforeach (glob ${globbed})
|
||||||
|
if (NOT globbed)
|
||||||
|
list(APPEND cmake_file_list "${cmake_file}")
|
||||||
|
endif (NOT globbed)
|
||||||
|
list(APPEND compiler_file_list ${file})
|
||||||
|
endforeach(file ${sources})
|
||||||
|
|
||||||
|
get_directory_property(compile_definitions COMPILE_DEFINITIONS)
|
||||||
|
foreach (def ${compile_definitions})
|
||||||
|
# macros with values aren't supported by C#
|
||||||
|
if (NOT def MATCHES ".*=.*")
|
||||||
|
list(APPEND _csc_opts "/define:${def}")
|
||||||
|
endif (NOT def MATCHES ".*=.*")
|
||||||
|
endforeach (def ${compile_definitions})
|
||||||
|
|
||||||
|
get_directory_property(link_dirs LINK_DIRECTORIES)
|
||||||
|
foreach (dir ${link_dirs})
|
||||||
|
list(APPEND _csc_opts "/lib:${dir}")
|
||||||
|
endforeach (dir ${link_dirs})
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT "${outdir}/${target}.stubexe"
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E make_directory "${outdir}" # create the output dir
|
||||||
|
COMMAND "${CMAKE_CSharp_COMPILER}" /nologo /target:${dotnet_target} "/out:${native_target}.exe" # build the executable
|
||||||
|
${_csc_opts} ${unsafe} ${references} ${compiler_file_list}
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E touch "${outdir}/${target}.stubexe" # create the stub so that DEPENDS will work
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" # working directory is the source directory, so we don't have to care about relative paths
|
||||||
|
DEPENDS ${cmake_file_list}
|
||||||
|
COMMENT "Building ${relative_path}" VERBATIM) # nice comment
|
||||||
|
add_custom_target(${target} ALL DEPENDS "${outdir}/${target}.stubexe" SOURCES ${cmake_file_list}) # create the actual target
|
||||||
|
if (deps)
|
||||||
|
add_dependencies(${target} ${deps})
|
||||||
|
endif(deps)
|
||||||
|
endfunction(csharp_add_executable)
|
||||||
|
|
||||||
|
# ----- add a library -----
|
||||||
|
function(csharp_add_library target)
|
||||||
|
set(current "s")
|
||||||
|
|
||||||
|
foreach (arg ${ARGN})
|
||||||
|
file(TO_NATIVE_PATH ${arg} native_path)
|
||||||
|
|
||||||
|
if (arg STREQUAL "UNSAFE")
|
||||||
|
set (unsafe "/unsafe")
|
||||||
|
elseif (arg STREQUAL "REFERENCES")
|
||||||
|
set (current "r")
|
||||||
|
elseif (arg STREQUAL "COMPILE_FLAGS")
|
||||||
|
set (current "flags")
|
||||||
|
elseif (arg STREQUAL "COMPILE_DEFINITIONS")
|
||||||
|
set (current "defs")
|
||||||
|
else (arg STREQUAL "UNSAFE")
|
||||||
|
if (current STREQUAL "s")
|
||||||
|
# source file
|
||||||
|
list(APPEND sources ${native_path})
|
||||||
|
elseif (current STREQUAL "r")
|
||||||
|
# reference
|
||||||
|
if (TARGET ${arg})
|
||||||
|
# this is an existing target - get the target assembly
|
||||||
|
get_property(prop TARGET ${arg} PROPERTY _assembly)
|
||||||
|
list(APPEND references "/r:${prop}")
|
||||||
|
list(APPEND deps ${arg})
|
||||||
|
else (TARGET ${arg})
|
||||||
|
# something different (e.g. assembly name in the gac)
|
||||||
|
list(APPEND references "/r:${native_path}")
|
||||||
|
endif (TARGET ${arg})
|
||||||
|
elseif (current STREQUAL "flags")
|
||||||
|
list(APPEND _csc_opts "${arg}")
|
||||||
|
elseif (current STREQUAL "defs")
|
||||||
|
list(APPEND _csc_opts "/define:${arg}")
|
||||||
|
endif (current STREQUAL "s")
|
||||||
|
endif (arg STREQUAL "UNSAFE")
|
||||||
|
endforeach (arg ${ARGN})
|
||||||
|
|
||||||
|
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
list(APPEND _csc_opts "/define:DEBUG")
|
||||||
|
list(APPEND _csc_opts "/debug")
|
||||||
|
endif (CMAKE_BUILD_TYPE STREQUAL "Debug")
|
||||||
|
|
||||||
|
get_library_output_dir(outdir)
|
||||||
|
if (NOT IS_ABSOLUTE "${outdir}")
|
||||||
|
message(FATAL_ERROR "Directory \"${outdir}\" is not an absolute path!")
|
||||||
|
endif (NOT IS_ABSOLUTE "${outdir}")
|
||||||
|
|
||||||
|
file(RELATIVE_PATH relative_path "${CMAKE_BINARY_DIR}" "${outdir}/${target}.dll")
|
||||||
|
file(TO_NATIVE_PATH "${outdir}/${target}" native_target)
|
||||||
|
|
||||||
|
# inlined - this doesn't work as a macro :(
|
||||||
|
foreach(file ${sources})
|
||||||
|
file(TO_CMAKE_PATH "${file}" cmake_file)
|
||||||
|
|
||||||
|
if (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
file(GLOB globbed "${cmake_file}")
|
||||||
|
else (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
file(GLOB globbed "${CMAKE_CURRENT_SOURCE_DIR}/${cmake_file}")
|
||||||
|
endif (IS_ABSOLUTE "${cmake_file}")
|
||||||
|
|
||||||
|
foreach (glob ${globbed})
|
||||||
|
file(TO_CMAKE_PATH "${glob}" cmake_path)
|
||||||
|
list(APPEND cmake_file_list "${cmake_path}")
|
||||||
|
endforeach (glob ${globbed})
|
||||||
|
if (NOT globbed)
|
||||||
|
list(APPEND cmake_file_list "${cmake_file}")
|
||||||
|
endif (NOT globbed)
|
||||||
|
list(APPEND compiler_file_list ${file})
|
||||||
|
endforeach(file ${sources})
|
||||||
|
|
||||||
|
# message("CMake File List for target ${target}: ${cmake_file_list}")
|
||||||
|
|
||||||
|
get_directory_property(compile_definitions COMPILE_DEFINITIONS)
|
||||||
|
foreach (def ${compile_definitions})
|
||||||
|
# macros with values aren't supported by C#
|
||||||
|
if (NOT def MATCHES ".*=.*")
|
||||||
|
list(APPEND _csc_opts "/define:${def}")
|
||||||
|
endif (NOT def MATCHES ".*=.*")
|
||||||
|
endforeach (def ${compile_definitions})
|
||||||
|
|
||||||
|
get_directory_property(link_dirs LINK_DIRECTORIES)
|
||||||
|
foreach (dir ${link_dirs})
|
||||||
|
list(APPEND _csc_opts "/lib:${dir}")
|
||||||
|
endforeach (dir ${link_dirs})
|
||||||
|
|
||||||
|
add_custom_command(OUTPUT "${outdir}/${target}.dll"
|
||||||
|
COMMAND "${CMAKE_COMMAND}" -E make_directory "${outdir}" # create the output dir
|
||||||
|
COMMAND "${CMAKE_CSharp_COMPILER}" /nologo /target:library "/out:${native_target}.dll" # build the executable
|
||||||
|
${_csc_opts} ${unsafe} ${references} ${compiler_file_list}
|
||||||
|
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" # working directory is the source directory, so we don't have to care about relative paths
|
||||||
|
DEPENDS ${cmake_file_list}
|
||||||
|
COMMENT "Building ${relative_path}" VERBATIM) # nice comment
|
||||||
|
add_custom_target(${target} ALL DEPENDS "${outdir}/${target}.dll" SOURCES ${cmake_file_list}) # create the actual target
|
||||||
|
set_property(TARGET ${target} PROPERTY _assembly "${native_target}.dll")
|
||||||
|
if (deps)
|
||||||
|
add_dependencies(${target} ${deps})
|
||||||
|
endif(deps)
|
||||||
|
endfunction(csharp_add_library)
|
||||||
|
|
||||||
|
# ----- install a library assembly -----
|
||||||
|
function(install_assembly target DESTINATION destination_dir)
|
||||||
|
# retrieve the absolute path of the generated assembly
|
||||||
|
get_property(filename TARGET ${target} PROPERTY _assembly)
|
||||||
|
get_property(pc_file TARGET ${target} PROPERTY pkg-config_template_basename)
|
||||||
|
if (NOT pc_file)
|
||||||
|
set (pc_file ${target})
|
||||||
|
endif (NOT pc_file)
|
||||||
|
|
||||||
|
if (NOT filename)
|
||||||
|
message(FATAL_ERROR "Couldn't retrieve the assembly filename for target ${target}! Are you sure the target is a .NET library assembly?")
|
||||||
|
endif (NOT filename)
|
||||||
|
|
||||||
|
if (NOT MONO_FOUND)
|
||||||
|
install(FILES "${filename}" DESTINATION ${destination_dir})
|
||||||
|
if (EXISTS "${filename}.config")
|
||||||
|
install(FILES "${filename}.config" DESTINATION ${destination_dir})
|
||||||
|
endif (EXISTS "${filename}.config")
|
||||||
|
return()
|
||||||
|
endif (NOT MONO_FOUND)
|
||||||
|
|
||||||
|
if (ARGV3 STREQUAL "PACKAGE" AND ARGV4)
|
||||||
|
set (package_option "-package ${ARGV4}")
|
||||||
|
|
||||||
|
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${pc_file}.pc.cmake")
|
||||||
|
set(assembly "${GAC_DIR}/${ARGV4}/${target}.dll")
|
||||||
|
configure_file ("${CMAKE_CURRENT_SOURCE_DIR}/${pc_file}.pc.cmake" "${CMAKE_CURRENT_BINARY_DIR}/${pc_file}.pc")
|
||||||
|
|
||||||
|
if (NOT LIB_INSTALL_DIR)
|
||||||
|
set (LIB_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib)
|
||||||
|
endif (NOT LIB_INSTALL_DIR)
|
||||||
|
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${pc_file}.pc" DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||||
|
endif (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${pc_file}.pc.cmake")
|
||||||
|
|
||||||
|
endif (ARGV3 STREQUAL "PACKAGE" AND ARGV4)
|
||||||
|
|
||||||
|
# So we have the mono runtime and we can use gacutil (it has the -root option, which the MS version doesn't have).
|
||||||
|
install(CODE "execute_process(COMMAND ${GACUTIL_EXECUTABLE} -i ${filename} ${package_option} -root ${CMAKE_CURRENT_BINARY_DIR}/tmp_gac)")
|
||||||
|
file(REMOVE_RECURSE ${CMAKE_CURRENT_BINARY_DIR}/tmp_gac/mono)
|
||||||
|
file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tmp_gac/mono)
|
||||||
|
install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tmp_gac/mono/ DESTINATION ${GAC_DIR} )
|
||||||
|
endfunction(install_assembly)
|
||||||
|
|
||||||
|
set(CMAKE_CSharp_INFORMATION_LOADED 1)
|
85
CASA/cmake/modules/CMakeDetermineCSharpCompiler.cmake
Normal file
85
CASA/cmake/modules/CMakeDetermineCSharpCompiler.cmake
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
# copyright (c) 2007, 2009 Arno Rehn arno@arnorehn.de
|
||||||
|
# copyright (c) 2008 Helio castro helio@kde.org
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the GPL license.
|
||||||
|
|
||||||
|
# determine the compiler to use for C# programs
|
||||||
|
# NOTE, a generator may set CMAKE_CSharp_COMPILER before
|
||||||
|
# loading this file to force a compiler.
|
||||||
|
|
||||||
|
if(NOT CMAKE_CSharp_COMPILER)
|
||||||
|
# prefer the environment variable CSC
|
||||||
|
if($ENV{CSC} MATCHES ".+")
|
||||||
|
if (EXISTS $ENV{CSC})
|
||||||
|
message(STATUS "Found compiler set in environment variable CSC: $ENV{CSC}.")
|
||||||
|
set(CMAKE_CSharp_COMPILER $ENV{CSC})
|
||||||
|
else (EXISTS $ENV{CSC})
|
||||||
|
message(SEND_ERROR "Could not find compiler set in environment variable CSC:\n$ENV{CSC}.")
|
||||||
|
endif (EXISTS $ENV{CSC})
|
||||||
|
endif($ENV{CSC} MATCHES ".+")
|
||||||
|
|
||||||
|
# if no compiler has been specified yet, then look for one
|
||||||
|
if (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
find_package(Mono)
|
||||||
|
set (CMAKE_CSharp_COMPILER "${GMCS_EXECUTABLE}")
|
||||||
|
|
||||||
|
# still not found, try csc.exe
|
||||||
|
if (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
get_filename_component(dotnet_path "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Microsoft\\.NETFramework;InstallRoot]" PATH)
|
||||||
|
find_program(CMAKE_CSharp_COMPILER NAMES csc PATHS "${dotnet_path}/Framework/v2.0.50727")
|
||||||
|
file(TO_NATIVE_PATH "${dotnet_path}/Framework/v2.0.50727" native_path)
|
||||||
|
message(STATUS "Looking for csc: ${CMAKE_CSharp_COMPILER}")
|
||||||
|
|
||||||
|
# give up
|
||||||
|
if (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
message (STATUS "Couldn't find a valid C# compiler. Set either CMake_CSharp_COMPILER or the CSC environment variable to a valid path.")
|
||||||
|
endif (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
endif (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
endif (NOT CMAKE_CSharp_COMPILER)
|
||||||
|
|
||||||
|
endif(NOT CMAKE_CSharp_COMPILER)
|
||||||
|
|
||||||
|
# now try to find the gac location
|
||||||
|
if (CMAKE_CSharp_COMPILER AND NOT GAC_DIR AND MONO_FOUND)
|
||||||
|
find_package(PkgConfig)
|
||||||
|
|
||||||
|
if (PKG_CONFIG_FOUND)
|
||||||
|
pkg_search_module(MONO_CECIL mono-cecil)
|
||||||
|
if(MONO_CECIL_FOUND)
|
||||||
|
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} mono-cecil --variable=assemblies_dir OUTPUT_VARIABLE GAC_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
endif(MONO_CECIL_FOUND)
|
||||||
|
|
||||||
|
pkg_search_module(CECIL cecil)
|
||||||
|
if(CECIL_FOUND)
|
||||||
|
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} cecil --variable=assemblies_dir OUTPUT_VARIABLE GAC_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
endif(CECIL_FOUND)
|
||||||
|
|
||||||
|
if (NOT GAC_DIR)
|
||||||
|
execute_process(COMMAND ${PKG_CONFIG_EXECUTABLE} mono --variable=libdir OUTPUT_VARIABLE MONO_LIB_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
|
||||||
|
if (MONO_LIB_DIR)
|
||||||
|
set (GAC_DIR "${MONO_LIB_DIR}/mono")
|
||||||
|
message (STATUS "Could not find cecil, guessing GAC dir from mono prefix: ${GAC_DIR}")
|
||||||
|
endif (MONO_LIB_DIR)
|
||||||
|
endif (NOT GAC_DIR)
|
||||||
|
endif (PKG_CONFIG_FOUND)
|
||||||
|
|
||||||
|
if (NOT GAC_DIR)
|
||||||
|
set (GAC_DIR "/usr/lib/mono")
|
||||||
|
message(STATUS "Could not find cecil or mono. Using default GAC dir: ${GAC_DIR}")
|
||||||
|
endif (NOT GAC_DIR)
|
||||||
|
endif (CMAKE_CSharp_COMPILER AND NOT GAC_DIR AND MONO_FOUND)
|
||||||
|
|
||||||
|
# Create a cache entry so the user can modify this.
|
||||||
|
set(GAC_DIR "${GAC_DIR}" CACHE PATH "Location of the GAC")
|
||||||
|
message(STATUS "Using GAC dir: ${GAC_DIR}")
|
||||||
|
|
||||||
|
mark_as_advanced(CMAKE_CSharp_COMPILER)
|
||||||
|
|
||||||
|
if (CMAKE_CSharp_COMPILER)
|
||||||
|
set (CMAKE_CSharp_COMPILER_LOADED 1)
|
||||||
|
endif (CMAKE_CSharp_COMPILER)
|
||||||
|
|
||||||
|
# configure variables set in this file for fast reload later on
|
||||||
|
configure_file(${CMAKE_SOURCE_DIR}/cmake/modules/CMakeCSharpCompiler.cmake.in
|
||||||
|
${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeCSharpCompiler.cmake IMMEDIATE @ONLY)
|
||||||
|
set(CMAKE_CSharp_COMPILER_ENV_VAR "CSC")
|
1
CASA/cmake/modules/CMakeTestCSharpCompiler.cmake
Normal file
1
CASA/cmake/modules/CMakeTestCSharpCompiler.cmake
Normal file
@ -0,0 +1 @@
|
|||||||
|
SET(CMAKE_CSharp_COMPILER_WORKS 1 CACHE INTERNAL "")
|
41
CASA/cmake/modules/FindJavaExtended.cmake
Normal file
41
CASA/cmake/modules/FindJavaExtended.cmake
Normal file
@ -0,0 +1,41 @@
|
|||||||
|
# - Find Java Header Compiler
|
||||||
|
# This module finds if Java is installed and determines where the
|
||||||
|
# include files and libraries are. This code sets the following
|
||||||
|
# variables:
|
||||||
|
#
|
||||||
|
# JAVA_HEADER_COMPILE = the full path to the Java Header compiler
|
||||||
|
#
|
||||||
|
|
||||||
|
# Call cmake default version
|
||||||
|
FIND_PACKAGE( Java )
|
||||||
|
|
||||||
|
SET(JAVA_BIN_PATH
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\2.0;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.9;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.8;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.7;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.6;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.5;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.4;JavaHome]/bin"
|
||||||
|
"[HKEY_LOCAL_MACHINE\\SOFTWARE\\JavaSoft\\Java Development Kit\\1.3;JavaHome]/bin"
|
||||||
|
$ENV{JAVA_HOME}/bin
|
||||||
|
/usr/bin
|
||||||
|
/usr/lib/java/bin
|
||||||
|
/usr/share/java/bin
|
||||||
|
/usr/local/bin
|
||||||
|
/usr/local/java/bin
|
||||||
|
/usr/local/java/share/bin
|
||||||
|
/usr/java/j2sdk1.4.2_04
|
||||||
|
/usr/lib/j2sdk1.4-sun/bin
|
||||||
|
/usr/java/j2sdk1.4.2_09/bin
|
||||||
|
/usr/lib/j2sdk1.5-sun/bin
|
||||||
|
/opt/sun-jdk-1.5.0.04/bin
|
||||||
|
)
|
||||||
|
FIND_PROGRAM(JAVA_HEADER_COMPILE
|
||||||
|
NAMES javah
|
||||||
|
PATHS ${JAVA_BIN_PATH}
|
||||||
|
)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(
|
||||||
|
JAVA_HEADER_COMPILE
|
||||||
|
)
|
36
CASA/cmake/modules/FindMono.cmake
Normal file
36
CASA/cmake/modules/FindMono.cmake
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
# - Try to find the mono, mcs, gmcs and gacutil
|
||||||
|
#
|
||||||
|
# defines
|
||||||
|
#
|
||||||
|
# MONO_FOUND - system has mono, mcs, gmcs and gacutil
|
||||||
|
# MONO_PATH - where to find 'mono'
|
||||||
|
# GMCS_PATH - where to find 'gmcs'
|
||||||
|
# GACUTIL_PATH - where to find 'gacutil'
|
||||||
|
#
|
||||||
|
# copyright (c) 2007 Arno Rehn arno@arnorehn.de
|
||||||
|
#
|
||||||
|
# Redistribution and use is allowed according to the terms of the GPL license.
|
||||||
|
|
||||||
|
FIND_PROGRAM (MONO_EXECUTABLE mono)
|
||||||
|
FIND_PROGRAM (GMCS_EXECUTABLE gmcs)
|
||||||
|
FIND_PROGRAM (GACUTIL_EXECUTABLE gacutil)
|
||||||
|
|
||||||
|
SET (MONO_FOUND FALSE CACHE INTERNAL "")
|
||||||
|
|
||||||
|
IF (MONO_EXECUTABLE AND GMCS_EXECUTABLE AND GACUTIL_EXECUTABLE)
|
||||||
|
SET (MONO_FOUND TRUE CACHE INTERNAL "")
|
||||||
|
ENDIF (MONO_EXECUTABLE AND GMCS_EXECUTABLE AND GACUTIL_EXECUTABLE)
|
||||||
|
|
||||||
|
IF (NOT Mono_FIND_QUIETLY)
|
||||||
|
MESSAGE(STATUS "Path of mono: ${MONO_EXECUTABLE}")
|
||||||
|
MESSAGE(STATUS "Path of gmcs: ${GMCS_EXECUTABLE}")
|
||||||
|
MESSAGE(STATUS "Path of gacutil: ${GACUTIL_EXECUTABLE}")
|
||||||
|
ENDIF (NOT Mono_FIND_QUIETLY)
|
||||||
|
|
||||||
|
IF (NOT MONO_FOUND)
|
||||||
|
IF (Mono_FIND_REQUIRED)
|
||||||
|
MESSAGE(FATAL_ERROR "Could not find one or more of the following programs: mono, gmcs, gacutil")
|
||||||
|
ENDIF (Mono_FIND_REQUIRED)
|
||||||
|
ENDIF (NOT MONO_FOUND)
|
||||||
|
|
||||||
|
MARK_AS_ADVANCED(MONO_EXECUTABLE GMCS_EXECUTABLE GACUTIL_EXECUTABLE)
|
74
CASA/cmake/modules/FindPAM.cmake
Normal file
74
CASA/cmake/modules/FindPAM.cmake
Normal file
@ -0,0 +1,74 @@
|
|||||||
|
# - Try to find the PAM libraries
|
||||||
|
# Once done this will define
|
||||||
|
#
|
||||||
|
# PAM_FOUND - system has pam
|
||||||
|
# PAM_INCLUDE_DIR - the pam include directory
|
||||||
|
# PAM_LIBRARIES - libpam library
|
||||||
|
|
||||||
|
if (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||||
|
# Already in cache, be silent
|
||||||
|
set(PAM_FIND_QUIETLY TRUE)
|
||||||
|
endif (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||||
|
|
||||||
|
find_path(PAM_INCLUDE_DIR NAMES security/pam_appl.h pam/pam_appl.h)
|
||||||
|
find_library(PAM_LIBRARY pam)
|
||||||
|
find_library(DL_LIBRARY dl)
|
||||||
|
|
||||||
|
if (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||||
|
set(PAM_FOUND TRUE)
|
||||||
|
if (DL_LIBRARY)
|
||||||
|
set(PAM_LIBRARIES ${PAM_LIBRARY} ${DL_LIBRARY})
|
||||||
|
else (DL_LIBRARY)
|
||||||
|
set(PAM_LIBRARIES ${PAM_LIBRARY})
|
||||||
|
endif (DL_LIBRARY)
|
||||||
|
|
||||||
|
if (EXISTS ${PAM_INCLUDE_DIR}/pam/pam_appl.h)
|
||||||
|
# darwin claims to be something special
|
||||||
|
set(HAVE_PAM_PAM_APPL_H 1)
|
||||||
|
endif (EXISTS ${PAM_INCLUDE_DIR}/pam/pam_appl.h)
|
||||||
|
|
||||||
|
if (NOT DEFINED PAM_MESSAGE_CONST)
|
||||||
|
include(CheckCXXSourceCompiles)
|
||||||
|
# XXX does this work with plain c?
|
||||||
|
check_cxx_source_compiles("
|
||||||
|
#if ${HAVE_PAM_PAM_APPL_H}+0
|
||||||
|
# include <pam/pam_appl.h>
|
||||||
|
#else
|
||||||
|
# include <security/pam_appl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static int PAM_conv(
|
||||||
|
int num_msg,
|
||||||
|
const struct pam_message **msg, /* this is the culprit */
|
||||||
|
struct pam_response **resp,
|
||||||
|
void *ctx)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
int main(void)
|
||||||
|
{
|
||||||
|
struct pam_conv PAM_conversation = {
|
||||||
|
&PAM_conv, /* this bombs out if the above does not match */
|
||||||
|
0
|
||||||
|
};
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
" PAM_MESSAGE_CONST)
|
||||||
|
endif (NOT DEFINED PAM_MESSAGE_CONST)
|
||||||
|
set(PAM_MESSAGE_CONST ${PAM_MESSAGE_CONST} CACHE BOOL "PAM expects a conversation function with const pam_message")
|
||||||
|
|
||||||
|
endif (PAM_INCLUDE_DIR AND PAM_LIBRARY)
|
||||||
|
|
||||||
|
if (PAM_FOUND)
|
||||||
|
if (NOT PAM_FIND_QUIETLY)
|
||||||
|
message(STATUS "Found PAM: ${PAM_LIBRARIES}")
|
||||||
|
endif (NOT PAM_FIND_QUIETLY)
|
||||||
|
else (PAM_FOUND)
|
||||||
|
if (PAM_FIND_REQUIRED)
|
||||||
|
message(FATAL_ERROR "PAM was not found")
|
||||||
|
endif(PAM_FIND_REQUIRED)
|
||||||
|
endif (PAM_FOUND)
|
||||||
|
|
||||||
|
mark_as_advanced(PAM_INCLUDE_DIR PAM_LIBRARY DL_LIBRARY PAM_MESSAGE_CONST)
|
94
CASA/cmake/modules/FindXmlTo.cmake
Normal file
94
CASA/cmake/modules/FindXmlTo.cmake
Normal file
@ -0,0 +1,94 @@
|
|||||||
|
# - Convert XML docBook files to various formats
|
||||||
|
# This will convert XML docBook files to various formats like:
|
||||||
|
# man html txt dvi ps pdf
|
||||||
|
# macro XMLTO(outfiles infiles... MODES modes...)
|
||||||
|
|
||||||
|
set ( XMLTO_FOUND false )
|
||||||
|
|
||||||
|
find_program ( XMLTO_EXECUTABLE
|
||||||
|
NAMES xmlto
|
||||||
|
DOC "path to the xmlto docbook xslt frontend"
|
||||||
|
)
|
||||||
|
mark_as_advanced ( XMLTO_EXECUTABLE )
|
||||||
|
|
||||||
|
if ( XMLTO_EXECUTABLE )
|
||||||
|
set ( XMLTO_FOUND true )
|
||||||
|
endif ( XMLTO_EXECUTABLE )
|
||||||
|
|
||||||
|
if ( NOT XMLTO_FIND_QUIETLY )
|
||||||
|
if ( XMLTO_FIND_REQUIRED )
|
||||||
|
MESSAGE(FATAL_ERROR "xmlto not found" )
|
||||||
|
endif ( XMLTO_FIND_REQUIRED )
|
||||||
|
endif ( NOT XMLTO_FIND_QUIETLY )
|
||||||
|
|
||||||
|
macro ( _XMLTO_FILE outfiles mode)
|
||||||
|
#special settings
|
||||||
|
set ( XMLTO_FILEEXT_man 1 )
|
||||||
|
set ( XMLTO_MODE_html xhtml-nochunks )
|
||||||
|
|
||||||
|
if ( NOT XMLTO_MODE_${mode})
|
||||||
|
set ( XMLTO_MODE_${mode} ${mode} )
|
||||||
|
endif ( NOT XMLTO_MODE_${mode} )
|
||||||
|
if ( NOT XMLTO_FILEEXT_${mode} )
|
||||||
|
set ( XMLTO_FILEEXT_${mode} ${mode} )
|
||||||
|
endif ( NOT XMLTO_FILEEXT_${mode} )
|
||||||
|
|
||||||
|
foreach ( dbFile ${ARGN} )
|
||||||
|
if ( "${mode}" STREQUAL "man" )
|
||||||
|
file ( READ "${dbFile}" _DB_FILE_CONTENTS )
|
||||||
|
string ( REGEX MATCH "<manvolnum>[^<]*" XMLTO_FILEEXT_${mode} "${_DB_FILE_CONTENTS}" )
|
||||||
|
string ( REGEX REPLACE "^<manvolnum>" "" XMLTO_FILEEXT_${mode} "${XMLTO_FILEEXT_${mode}}" )
|
||||||
|
string ( REGEX REPLACE "[[:space:]]" "" XMLTO_FILEEXT_${mode} "${XMLTO_FILEEXT_${mode}}" )
|
||||||
|
endif ( "${mode}" STREQUAL "man" )
|
||||||
|
|
||||||
|
get_filename_component ( dbFilePath ${CMAKE_CURRENT_BINARY_DIR}/${dbFile} PATH )
|
||||||
|
get_filename_component ( dbFileWE ${dbFile} NAME_WE )
|
||||||
|
get_filename_component ( dbFileAbsWE ${dbFilePath}/${dbFileWE} ABSOLUTE )
|
||||||
|
|
||||||
|
add_custom_command (
|
||||||
|
OUTPUT ${dbFileAbsWE}.${XMLTO_FILEEXT_${mode}}
|
||||||
|
COMMAND ${XMLTO_EXECUTABLE} ${XMLTO_COMMAND_ARGS} -o ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${XMLTO_MODE_${mode}} "${dbFile}"
|
||||||
|
MAIN_DEPENDENCY ${dbFile}
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
|
||||||
|
list ( APPEND ${outfiles}
|
||||||
|
${dbFileAbsWE}.${XMLTO_FILEEXT_${mode}}
|
||||||
|
)
|
||||||
|
endforeach ( dbFile )
|
||||||
|
endmacro ( _XMLTO_FILE outfiles )
|
||||||
|
|
||||||
|
macro ( XMLTO )
|
||||||
|
set ( XMLTO_MODES )
|
||||||
|
set ( XMLTO_FILES )
|
||||||
|
set ( XMLTO_HAS_MODES false )
|
||||||
|
set ( XMLTO_ADD_DEFAULT "" )
|
||||||
|
foreach ( arg ${ARGN} )
|
||||||
|
if ( ${arg} STREQUAL "MODES" )
|
||||||
|
set ( XMLTO_HAS_MODES true )
|
||||||
|
elseif ( ${arg} STREQUAL "ALL" )
|
||||||
|
set ( XMLTO_ADD_DEFAULT ALL )
|
||||||
|
else ( ${arg} STREQUAL "MODES" )
|
||||||
|
if ( XMLTO_HAS_MODES )
|
||||||
|
list ( APPEND XMLTO_MODES ${arg} )
|
||||||
|
else ( XMLTO_HAS_MODES )
|
||||||
|
list ( APPEND XMLTO_FILES ${arg} )
|
||||||
|
endif ( XMLTO_HAS_MODES )
|
||||||
|
endif ( ${arg} STREQUAL "MODES" )
|
||||||
|
endforeach ( arg ${ARGN} )
|
||||||
|
if ( NOT XMLTO_MODES )
|
||||||
|
set ( XMLTO_MODES html )
|
||||||
|
endif ( NOT XMLTO_MODES )
|
||||||
|
|
||||||
|
foreach ( mode ${XMLTO_MODES} )
|
||||||
|
_xmlto_file ( XMLTO_FILES_${mode} ${mode} ${XMLTO_FILES} )
|
||||||
|
add_custom_target ( ${mode} ${XMLTO_ADD_DEFAULT}
|
||||||
|
DEPENDS ${XMLTO_FILES_${mode}}
|
||||||
|
VERBATIM
|
||||||
|
)
|
||||||
|
endforeach ( mode )
|
||||||
|
|
||||||
|
set ( XMLTO_MODES )
|
||||||
|
set ( XMLTO_FILES )
|
||||||
|
endmacro ( XMLTO )
|
22
CASA/cmake/modules/cmake_uninstall.cmake.in
Normal file
22
CASA/cmake/modules/cmake_uninstall.cmake.in
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
IF(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||||
|
MESSAGE(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_BINARY_DIR@/install_manifest.txt\"")
|
||||||
|
ENDIF(NOT EXISTS "@CMAKE_BINARY_DIR@/install_manifest.txt")
|
||||||
|
|
||||||
|
FILE(READ "@CMAKE_BINARY_DIR@/install_manifest.txt" files)
|
||||||
|
STRING(REGEX REPLACE "\n" ";" files "${files}")
|
||||||
|
FOREACH(file ${files})
|
||||||
|
MESSAGE(STATUS "Uninstalling \"${file}\"")
|
||||||
|
IF(EXISTS "${file}")
|
||||||
|
EXEC_PROGRAM(
|
||||||
|
"@CMAKE_COMMAND@" ARGS "-E remove \"${file}\""
|
||||||
|
OUTPUT_VARIABLE rm_out
|
||||||
|
RETURN_VALUE rm_retval
|
||||||
|
)
|
||||||
|
IF("${rm_retval}" STREQUAL 0)
|
||||||
|
ELSE("${rm_retval}" STREQUAL 0)
|
||||||
|
MESSAGE(FATAL_ERROR "Problem when removing \"${file}\"")
|
||||||
|
ENDIF("${rm_retval}" STREQUAL 0)
|
||||||
|
ELSE(EXISTS "${file}")
|
||||||
|
MESSAGE(STATUS "File \"${file}\" does not exist.")
|
||||||
|
ENDIF(EXISTS "${file}")
|
||||||
|
ENDFOREACH(file)
|
@ -1,36 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 windows
|
|
||||||
|
|
||||||
CFILES =
|
|
||||||
|
|
||||||
EXTRA_DIST = $(CFILES)
|
|
||||||
|
|
||||||
.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
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CFILES)
|
|
||||||
|
|
||||||
CASAROOT = ../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR = ..
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =sscs_ll
|
|
||||||
MODULE_EXT =o
|
|
||||||
|
|
||||||
CFILES = ../sscs_ll.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 = -lpthread -ldl
|
|
||||||
LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT):
|
|
||||||
@echo [======== Creating symlink $@ ========]
|
|
||||||
ln -f $(CFILES) $(CASAROOT)/micasadk
|
|
||||||
|
|
||||||
$(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
|
|
||||||
|
|
@ -1,114 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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 = $(CFILES)
|
|
||||||
|
|
||||||
CASAROOT = ../..
|
|
||||||
|
|
||||||
CASALIBDIR = $(CASAROOT)/$(LIB)
|
|
||||||
|
|
||||||
# handle Mono secondary dependencies
|
|
||||||
export MONO_PATH := $(MONO_PATH)
|
|
||||||
|
|
||||||
PLATFORMINDEPENDENTSOURCEDIR = ..
|
|
||||||
PLATFORMDEPENDENTSOURCEDIR = .
|
|
||||||
|
|
||||||
MODULE_NAME =sscs_ll
|
|
||||||
MODULE_EXT =o
|
|
||||||
|
|
||||||
CFILES = ../sscs_ll.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 = -lpthread -ldl
|
|
||||||
LDFLAGS = -Bsymbolic -shared -Wl,-soname=$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
OBJDIR = ./$(TARGET_CFG)/$(LIB)
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
OBJS = $(addprefix $(OBJDIR)/, $(CFILES:%.c=%.o))
|
|
||||||
|
|
||||||
CUR_DIR := $(shell pwd)
|
|
||||||
|
|
||||||
all: $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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): $(OBJDIR) $(OBJS)
|
|
||||||
# @echo [======== Linking $@ ========]
|
|
||||||
# $(LINK) -o $@ $(LDFLAGS) $(OBJS) $(LIBS)
|
|
||||||
# cp -f $(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT) $(CASALIBDIR)/$(TARGET_CFG)/$(MODULE_NAME).$(MODULE_EXT)
|
|
||||||
|
|
||||||
$(OBJDIR)/$(MODULE_NAME).$(MODULE_EXT):
|
|
||||||
@echo [======== Creating symlink $@ ========]
|
|
||||||
ln -f $(CFILES) $(CASAROOT)/micasadk
|
|
||||||
|
|
||||||
$(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
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
# Convert the batch files to dos format
|
|
||||||
cd $BUILD_LOCATION/$NAME~$VERSION/$NAME
|
|
||||||
find . -name "*.bat" | xargs unix2dos
|
|
||||||
|
|
||||||
rsh $BUILD_CLIENT "cd /d c:\\ccm_wa\\security\\$NAME~$VERSION\\$NAME && config\\build.cmd"
|
|
||||||
|
|
||||||
# Doesn't work because this project uses the P: drive...
|
|
||||||
#ssh $BUILD_CLIENT "cmd /c 'cd /d d:\\$VERSION\\$PROJECT_NAME~$VERSION\\$PROJECT_NAME && config\\build.cmd'"
|
|
||||||
|
|
@ -1,22 +0,0 @@
|
|||||||
@echo on
|
|
||||||
|
|
||||||
setlocal
|
|
||||||
|
|
||||||
rem Set some compiler specific options
|
|
||||||
set MSC=p:/Tools/msc7.00/Vc7/
|
|
||||||
set WATCOM=p:/Tools/WCC/v11.0/
|
|
||||||
|
|
||||||
set TMP=%CCM_WORK_AREA%
|
|
||||||
call getpath.bat .
|
|
||||||
set CURRENT_DIR=%CWD%
|
|
||||||
cd ..
|
|
||||||
call %CURRENT_DIR%\getpath.bat .
|
|
||||||
set CCM_WORK_AREA=%CWD%
|
|
||||||
cd %CURRENT_DIR%
|
|
||||||
|
|
||||||
rem add path to some dll files in the MS compiler
|
|
||||||
set PATH=%PATH%;.;%MSC%../Common7/IDE;%MSC%../SDK/v1.1/Bin/
|
|
||||||
|
|
||||||
c:\cygwin\bin\bash mk-cai-all
|
|
||||||
|
|
||||||
endlocal
|
|
@ -1,9 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
if [ "$PLATFORM" = "AIX" ]; then
|
|
||||||
NEW_PATH=/usr/local/bin:/usr/ccs/lib
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
ssh $BUILD_CLIENT "cd ccm_wa/security/$NAME~$VERSION/$NAME; export PATH=.:$NEW_PATH:\$PATH; echo PATH=\$PATH; mk-cai-all;"
|
|
||||||
|
|
@ -1,10 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
#
|
|
||||||
# Script %name: clean %
|
|
||||||
# Instance: security_1
|
|
||||||
# %version: 1 %
|
|
||||||
# Description:
|
|
||||||
# %created_by: nds_cm %
|
|
||||||
# %date_created: Fri Apr 01 16:29:28 2005 %
|
|
||||||
|
|
||||||
|
|
@ -1,329 +0,0 @@
|
|||||||
#######################################################################
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
#
|
|
||||||
#######################################################################
|
|
||||||
|
|
||||||
AC_INIT(include/micasa.h)
|
|
||||||
AC_CANONICAL_SYSTEM
|
|
||||||
AM_INIT_AUTOMAKE(CASA, 1.6.1137)
|
|
||||||
RELEASE=`date +%Y%m%d_%H%M`
|
|
||||||
AC_SUBST(RELEASE)
|
|
||||||
AM_MAINTAINER_MODE
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check for a valid C# compiler
|
|
||||||
#
|
|
||||||
#AC_CHECK_PROG(CSC, csc, csc)
|
|
||||||
#test -z "$CSC" && AC_CHECK_PROG(CSC, mcs, mcs)
|
|
||||||
#test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check for valid C# compiler in linux
|
|
||||||
#
|
|
||||||
case $host_os in
|
|
||||||
cygwin*)
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
AC_CHECK_PROG(CSC, csc, csc)
|
|
||||||
test -z "$CSC" && AC_CHECK_PROG(CSC, gmcs, gmcs)
|
|
||||||
test -z "$CSC" && AC_MSG_ERROR([no acceptable C Sharp compiler found in \$PATH])
|
|
||||||
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
case $CSC in
|
|
||||||
#
|
|
||||||
# Mono-specific configuration
|
|
||||||
#
|
|
||||||
gmcs)
|
|
||||||
CSC_EXEFLAG=/target:exe
|
|
||||||
CSC_LIBFLAG=/target:library
|
|
||||||
CSC_EXEFLAG=/target:exe
|
|
||||||
CSC_WINEXEFLAG=/target:winexe
|
|
||||||
CSCFLAGS='/d:MONO /warn:4 /d:TRACE -d:LINUX'
|
|
||||||
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
|
|
||||||
CSCFLAGS_OPTIMIZE="/optimize+"
|
|
||||||
MONO=mono
|
|
||||||
MONO_DEBUG='mono --debug'
|
|
||||||
MONO_PATH=
|
|
||||||
SYSTEM_XML='System.Xml.dll'
|
|
||||||
;;
|
|
||||||
#
|
|
||||||
# .NET-specific configuration
|
|
||||||
#
|
|
||||||
csc)
|
|
||||||
CSC_EXEFLAG=/target:exe
|
|
||||||
CSC_LIBFLAG=/target:library
|
|
||||||
CSC_EXEFLAG=/target:exe
|
|
||||||
CSC_WINEXEFLAG=/target:winexe
|
|
||||||
CSCFLAGS='/d:DOTNET /warn:4 /d:TRACE /nologo'
|
|
||||||
CSCFLAGS_DEBUG="/debug+ /d:DEBUG"
|
|
||||||
CSCFLAGS_OPTIMIZE="/optimize+"
|
|
||||||
MONO=
|
|
||||||
MONO_DEBUG=
|
|
||||||
MONO_PATH=
|
|
||||||
SYSTEM_XML='System.XML.dll'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(CSC)
|
|
||||||
AC_SUBST(CSC_EXEFLAG)
|
|
||||||
AC_SUBST(CSC_LIBFLAG)
|
|
||||||
AC_SUBST(CSC_WINEXEFLAG)
|
|
||||||
AC_SUBST(CSCFLAGS)
|
|
||||||
AC_SUBST(CSCFLAGS_DEBUG)
|
|
||||||
AC_SUBST(MONO)
|
|
||||||
AC_SUBST(MONO_PATH)
|
|
||||||
AC_SUBST(SYSTEM_XML)
|
|
||||||
|
|
||||||
SRCDIR='$(top_srcdir)'
|
|
||||||
DOCDIR="$SRCDIR/doc"
|
|
||||||
TOOLDIR='$(top_srcdir)/tools'
|
|
||||||
AC_SUBST(SRCDIR)
|
|
||||||
AC_SUBST(DOCDIR)
|
|
||||||
AC_SUBST(TOOLDIR)
|
|
||||||
EMPTY=
|
|
||||||
SPACE='$(EMPTY) $(EMPTY)'
|
|
||||||
|
|
||||||
AC_SUBST(EMPTY)
|
|
||||||
AC_SUBST(SPACE)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check for operating system and set TARGET_OS
|
|
||||||
#
|
|
||||||
case $host_os in
|
|
||||||
cygwin*)
|
|
||||||
TARGET_OS='windows'
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
TARGET_OS='linux'
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(TARGET_OS)
|
|
||||||
AM_CONDITIONAL(LINUX, test "$TARGET_OS" = "linux")
|
|
||||||
AM_CONDITIONAL(WINDOWS, test "$TARGET_OS" = "windows")
|
|
||||||
|
|
||||||
#
|
|
||||||
# Check for architecture and set TARGET_ARCH
|
|
||||||
# ia64 needs to be treated as non64.
|
|
||||||
|
|
||||||
case $target_cpu in
|
|
||||||
x86_64*|p*pc64|s390x)
|
|
||||||
LIB=lib64
|
|
||||||
;;
|
|
||||||
*ia64|*)
|
|
||||||
LIB=lib
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#Check for architecture in cygwin
|
|
||||||
#check for PROCESSOR_IDENTIFIER for 64bit architecture
|
|
||||||
case $host_os in
|
|
||||||
cygwin*)
|
|
||||||
if test "`echo $PROCESSOR_IDENTIFIER | grep 64`"; then
|
|
||||||
LIB="lib64"
|
|
||||||
fi
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
AC_SUBST(LIB)
|
|
||||||
AM_CONDITIONAL(LIB64, test "$LIB" = lib64)
|
|
||||||
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# Set platform-specific variables
|
|
||||||
#
|
|
||||||
case $TARGET_OS in
|
|
||||||
#
|
|
||||||
# Linux-specific configuration
|
|
||||||
#
|
|
||||||
linux)
|
|
||||||
#
|
|
||||||
# Set variables
|
|
||||||
#
|
|
||||||
COMMON_CLEAN_FILES=''
|
|
||||||
ICON_EXT='.ico'
|
|
||||||
ICON_FLAG='/resource:'
|
|
||||||
PLATFORM_SUBDIRS=$LINUX_SUBDIRS
|
|
||||||
SEP='/'
|
|
||||||
LINK=gcc
|
|
||||||
;;
|
|
||||||
#
|
|
||||||
# Windows-specific configuration
|
|
||||||
#
|
|
||||||
windows)
|
|
||||||
COMMON_CLEAN_FILES='*.suo */*.suo *.csproj.user */*.csproj.user bin obj */bin */obj *.xml */*.xml *.pdb */*.pdb'
|
|
||||||
ICON_EXT='.ico'
|
|
||||||
ICON_FLAG='/win32icon:'
|
|
||||||
PLATFORM_SUBDIRS=$WINDOWS_SUBDIRS
|
|
||||||
SEP='$(EMPTY)\\$(EMPTY)'
|
|
||||||
LINK=link.exe
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
AC_SUBST(COMMON_CLEAN_FILES)
|
|
||||||
AC_SUBST(ICON_EXT)
|
|
||||||
AC_SUBST(ICON_FLAG)
|
|
||||||
AC_SUBST(PLATFORM_SUBDIRS)
|
|
||||||
AC_SUBST(SEP)
|
|
||||||
AC_SUBST(LINK)
|
|
||||||
|
|
||||||
#
|
|
||||||
# Run standard macros
|
|
||||||
#
|
|
||||||
AM_PROG_CC_STDC
|
|
||||||
AC_PROG_INSTALL
|
|
||||||
AC_HEADER_STDC
|
|
||||||
|
|
||||||
#######
|
|
||||||
#
|
|
||||||
# set CFLAGS
|
|
||||||
#
|
|
||||||
case $host_os in
|
|
||||||
linux*)
|
|
||||||
CFLAGS="$CFLAGS"
|
|
||||||
;;
|
|
||||||
cygwin*)
|
|
||||||
CC=cl.exe
|
|
||||||
CFLAGS="-D WIN32 -D SSCS_WIN32_PLAT_F -D N_PLAT_CLIENT -MT -Ox"
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
#
|
|
||||||
# Handle --enable-debug
|
|
||||||
#
|
|
||||||
AC_ARG_ENABLE(debug, [
|
|
||||||
--enable-debug configure the Makefiles to build in DEBUG mode],
|
|
||||||
[case "${enableval}" in
|
|
||||||
yes) enable_debug=true ;;
|
|
||||||
no) enable_debug=false ;;
|
|
||||||
*) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
|
|
||||||
esac],[enable_debug=false])
|
|
||||||
AM_CONDITIONAL(DEBUG, test x$enable_debug = xtrue)
|
|
||||||
if test "$enable_debug" = "true"
|
|
||||||
then
|
|
||||||
# Build debug version.
|
|
||||||
# CFLAGS="$CFLAGS_DEBUG $CFLAGS -DDBG -DDEBUG"
|
|
||||||
CFLAGS="$CFLAGS_DEBUG $CFLAGS -g -DDBG -DDEBUG \
|
|
||||||
-fPIC -DPIC -DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
|
|
||||||
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
|
|
||||||
-DUNIX -DLINUX -DIAPX38"
|
|
||||||
CSCFLAGS="$CSCFLAGS_DEBUG $CSCFLAGS"
|
|
||||||
CXXFLAGS="$CXXFLAGS_DEBUG $CXXFLAGS"
|
|
||||||
DEVENV_CONFIGURATION=Debug
|
|
||||||
MONO=$MONO_DEBUG
|
|
||||||
else
|
|
||||||
# Build optimized version.
|
|
||||||
CFLAGS="$CFLAGS_OPTIMIZE $CFLAGS -g -fPIC -DPIC \
|
|
||||||
-DSSCS_LINUX_PLAT_F -O2 -fmessage-length=0 -Wall \
|
|
||||||
-D_REENTRANT -DALIGNMENT -DN_PLAT_UNIX \
|
|
||||||
-DUNIX -DLINUX -DIAPX38"
|
|
||||||
CSCFLAGS="$CSCFLAGS_OPTIMIZE $CSCFLAGS"
|
|
||||||
CXXFLAGS="$CXXFLAGS_OPTIMIZE $CXXFLAGS"
|
|
||||||
DEVENV_CONFIGURATION=Release
|
|
||||||
fi
|
|
||||||
AC_SUBST(CSCFLAGS)
|
|
||||||
AC_SUBST(DEVENV_CONFIGURATION)
|
|
||||||
|
|
||||||
##comment out due to build failure
|
|
||||||
# Check for GCC version to add fstack-protector flag
|
|
||||||
#
|
|
||||||
#GCC_VER="`gcc -dumpversion`"
|
|
||||||
#case "$GCC_VER" in
|
|
||||||
# 3*)
|
|
||||||
# ;;
|
|
||||||
# 4*)
|
|
||||||
# CFLAGS="$CFLAGS -fstack-protector"
|
|
||||||
# ;;
|
|
||||||
# *)
|
|
||||||
# ;;
|
|
||||||
#esac
|
|
||||||
#AC_SUBST(GCC_VER)
|
|
||||||
|
|
||||||
# Check for WIN PLATFORM by $PROCESSOR_IDENTIFIER
|
|
||||||
#case $host_os in
|
|
||||||
# cygwin*)
|
|
||||||
# WIN_VER="` echo $PROCESSOR_IDENTIFIER | cut -d ' ' -f1 `"
|
|
||||||
# WIN_VER=` echo $PROCESSOR_IDENTIFIER | cut -d " " -f1 |\[sed -e 's/[^0-9]*//'] | \[sed -e 's/[^0-9].*//']`
|
|
||||||
# ;;
|
|
||||||
# *)
|
|
||||||
# ;;
|
|
||||||
#esac
|
|
||||||
#AC_SUBST(WIN_VER)
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Configure PKG_CONFIG
|
|
||||||
#
|
|
||||||
AC_PATH_PROG(PKG_CONFIG, pkg-config, no)
|
|
||||||
if test "x$PKG_CONFIG" = "xno"; then
|
|
||||||
AC_MSG_ERROR([You need to install pkg-config])
|
|
||||||
fi
|
|
||||||
|
|
||||||
#
|
|
||||||
# Configure files
|
|
||||||
#
|
|
||||||
AC_OUTPUT([
|
|
||||||
Makefile
|
|
||||||
micasacache/Makefile
|
|
||||||
micasacache/linux/Makefile
|
|
||||||
micasacache/windows/Makefile
|
|
||||||
common/Makefile
|
|
||||||
common/linux/Makefile
|
|
||||||
common/windows/Makefile
|
|
||||||
micasadk/Makefile
|
|
||||||
micasadk/linux/Makefile
|
|
||||||
micasadk/windows/Makefile
|
|
||||||
micasad/lib/Makefile
|
|
||||||
micasad/lib/common/Makefile
|
|
||||||
micasad/lib/communication/Makefile
|
|
||||||
micasad/startup/Makefile
|
|
||||||
sharp/Makefile
|
|
||||||
sharp/NSSCSWrapper/Makefile
|
|
||||||
micasad/Makefile
|
|
||||||
cli/Makefile
|
|
||||||
policy/Makefile
|
|
||||||
adlib/ad_kw/Makefile
|
|
||||||
adlib/ad_gk/native/Makefile
|
|
||||||
adlib/ad_gk/Makefile
|
|
||||||
adlib/ad_ff/native/Makefile
|
|
||||||
adlib/ad_ff/Makefile
|
|
||||||
adlib/Makefile
|
|
||||||
gui/Makefile
|
|
||||||
logincapture/Makefile
|
|
||||||
logincapture/linux/Makefile
|
|
||||||
logincapture/windows/Makefile
|
|
||||||
logincapture/linux/PAM/Makefile
|
|
||||||
logincapture/linux/PAM/linux/Makefile
|
|
||||||
jwrapper/Makefile
|
|
||||||
jwrapper/src/Makefile
|
|
||||||
jwrapper/jnsscs/Makefile
|
|
||||||
jwrapper/jnsscs/linux/Makefile
|
|
||||||
jwrapper/jnsscs/windows/Makefile
|
|
||||||
package/Makefile
|
|
||||||
package/linux/Makefile
|
|
||||||
package/windows/Makefile
|
|
||||||
package/windows/vs_solutions/Makefile
|
|
||||||
package/windows/vs_solutions/CASA32-msi/Makefile
|
|
||||||
package/windows/vs_solutions/CASA64-msi/Makefile
|
|
||||||
package/linux/CASA.spec
|
|
||||||
])
|
|
||||||
|
|
Binary file not shown.
@ -1,143 +0,0 @@
|
|||||||
|
|
||||||
|
|
||||||
To provide full compatibility with all Unix flavors the project scripts were converted to use
|
|
||||||
cygwin Bourne shell product by Redhat Inc. instead of MKS. Mortis Kern Korn Shell is expensive
|
|
||||||
and requires a license per machine. Cygwin is available for download from www.cywin.com for
|
|
||||||
free.
|
|
||||||
|
|
||||||
To install CYGWIN you have to use the Internet Explorer and go to "www.cygwin.com" and
|
|
||||||
install the Latest cygwin from the web ("http://www.cygwin.com/setup.exe"). Follow the
|
|
||||||
instruchtions and just accept all of the defaults and that should install cygwin in
|
|
||||||
c:\cygwin directory.
|
|
||||||
|
|
||||||
Once the installation is complete
|
|
||||||
copy the "profile" shell script file from \dependencies\cygwin to your c:\cygwin\etc.
|
|
||||||
|
|
||||||
To make the drive mappings match your project directory structure you would need to define
|
|
||||||
the following SYSTEM VARIABLES in your environment by right clicking on "My Computer" Icon on your desktop
|
|
||||||
and following order:
|
|
||||||
My Computer -> Properties -> Advanced -> Environment Variables -> New...
|
|
||||||
|
|
||||||
OPTIONAL SHORT HAND PARAMETERS
|
|
||||||
==============================
|
|
||||||
The parameters DEVDRV_* below are short hand parameters for substituing the long directory
|
|
||||||
structure names in CCM. The build woks fine as long as you go to the root directory of your
|
|
||||||
project and run mk-ca-all or mk-cai-all or from the root change dir to shrc and use individual
|
|
||||||
build scripts for building the components.
|
|
||||||
|
|
||||||
[/cygwin/c] cd dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
|
|
||||||
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src> mk-ca-all
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
[/cygwin/c] cd dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
|
|
||||||
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src] cd shsrc
|
|
||||||
[/cygwin/c/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src] mk-sss-dw clean all
|
|
||||||
|
|
||||||
|
|
||||||
To use the short hand drives and avoid having to
|
|
||||||
type long names to go the project root the following parameters in your environment should be
|
|
||||||
set to the root of the projects you have. You can use up to 5 drives by default. For more drives
|
|
||||||
you would need to edit the "/etc/profile" shell script and add more DEVDRV_* parameters to satisfy
|
|
||||||
your needs. If you have less than 5 drives just set as many parameters as you need.
|
|
||||||
|
|
||||||
define the following parameters as it applies to your environment like the example below:
|
|
||||||
DEVDRV_I = c:/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
|
|
||||||
DEVDRV_J = c:/dev/SecretStore_src~cameron3/SecretStore_src
|
|
||||||
DEVDRV_K = c:/dev/SecretStore_src~cameron2/SecretStore_src
|
|
||||||
DEVDRV_L = c:/dev/SecretStore_doc~cameron_ss20/SecretStore_doc
|
|
||||||
DEVDRV_M = c:/dev/SecretStore_doc~cameron/SecretStore_doc
|
|
||||||
|
|
||||||
|
|
||||||
After defining your project directory variables run cygwin shell and your drives will automatically
|
|
||||||
be mapped to your build environment. Then, from the root of the project or shsrc directory under the
|
|
||||||
root of the project "cygwin/j" or "cygwin/j/shsrc" run the script as it was explained above. Use the
|
|
||||||
build scripts to build components.
|
|
||||||
|
|
||||||
The example above will become the following.
|
|
||||||
[/cygwin/j] mk-ca-all
|
|
||||||
|
|
||||||
or
|
|
||||||
|
|
||||||
cd c:/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src
|
|
||||||
[/cygwin/j] cd shsrc
|
|
||||||
[/cygwin/j] mk-sss-dw clean all
|
|
||||||
|
|
||||||
|
|
||||||
This shell also allows for ssh sessions to Unix and Linux servers for build and development
|
|
||||||
using our Unix build scripts.
|
|
||||||
|
|
||||||
|
|
||||||
LOOK AT THE LIST OF PROJECT VARIABLES BELOW
|
|
||||||
|
|
||||||
|
|
||||||
*********** NOTE ABOUT GNU DIRECTORY UNDER CYGWIN *********************
|
|
||||||
SecretStore project uses GNU Make for building components. GNU Make is a component of
|
|
||||||
cygwin but it is not downloaded by default so we supply a copy of it here in the gnu direcotry
|
|
||||||
under cygwin. If so desired during installation you can add extra components such as GNU Make
|
|
||||||
to be downloaded with cygwin. This would require a download from web site and install from local
|
|
||||||
cygwin directory will only supply the default components of the Bourn Shell.
|
|
||||||
|
|
||||||
cvpackz.exe is not a components of the cygwin product but it is required for
|
|
||||||
NetWare builds so it is supplied here.
|
|
||||||
|
|
||||||
Paths to cvpackz.exe and GNU make.exe should be defined thru environment variables as described
|
|
||||||
in \make\tools.mak.
|
|
||||||
|
|
||||||
(variable is GNU and by default it should be set to "j:/dependencies/cygwin/gnu/" assuming that
|
|
||||||
j:/ is the project root directory).
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to the Continuus configuration management tool (necessary for build
|
|
||||||
# manager builds only).
|
|
||||||
# example: CONTINUUS=c:/ccm51/bin/
|
|
||||||
#
|
|
||||||
CONTINUUS
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to the configuration management build area (necessary for build
|
|
||||||
# manager builds only). Defaults to build manager's machine.
|
|
||||||
# example: CCM_WORK_AREA=c:/SecretStore_main~PREP/SecretStore_main/
|
|
||||||
#
|
|
||||||
CCM_WORK_AREA
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to the tools directory where WATCOM and MSVC compilers
|
|
||||||
# are installed.
|
|
||||||
# example: TOOLS=c:/tools/
|
|
||||||
#
|
|
||||||
TOOLS
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to the open source gnu make utility and cvpackz.
|
|
||||||
# example: GNU=j:/dependencies/cygwin/gnu/
|
|
||||||
#
|
|
||||||
GNU
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to Microsoft's Visual C++ compiler main directory.
|
|
||||||
# example: MSC=$(TOOLS)msc6.00/vc/
|
|
||||||
#
|
|
||||||
MSC
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to Microsoft's Visual Studio common components directory. On the
|
|
||||||
# network (hence, on many developer's machines) this has been copied to
|
|
||||||
# the same location as the Visual C++ executables. However, Microsoft's
|
|
||||||
# installation puts it in the Visual Studio common components directory
|
|
||||||
# structure. Either way you installed it, it should still work.
|
|
||||||
# example: MSVS = $(MSC)
|
|
||||||
#
|
|
||||||
MSVS
|
|
||||||
|
|
||||||
|
|
||||||
#
|
|
||||||
# Path to Watcom's C/C++ compiler for building NLMs.
|
|
||||||
# example: WATCOM=$(TOOLS)wcc/v11.0a/
|
|
||||||
#
|
|
||||||
WATCOM
|
|
||||||
|
|
||||||
|
|
||||||
Updated by: Cameron Mashayekhi
|
|
||||||
On: 1/28/2002
|
|
Binary file not shown.
@ -1,6 +0,0 @@
|
|||||||
|
|
||||||
cvpackz.exe and gnumake.exe are not components of the cygwin product but they are required for
|
|
||||||
NetWare and Windows builds.
|
|
||||||
|
|
||||||
Paths to cvpackz.exe and gnumake.exe should be defined thru environment variables as described
|
|
||||||
in \make\tools.mak.
|
|
Binary file not shown.
@ -1,71 +0,0 @@
|
|||||||
|
|
||||||
PATH="/usr/local/bin:/usr/bin:/bin:$PATH"
|
|
||||||
USER="`id -un`"
|
|
||||||
|
|
||||||
# The following is the standard idiom for processing ENVIRON in
|
|
||||||
# *interactive* shells only.
|
|
||||||
export ENV='${ENVIRON[(_$-=1)+(_=0)-(_$-!=_${-%%*i*})]}'
|
|
||||||
|
|
||||||
# The following is a simple definition that will process ENVIRON in
|
|
||||||
# *all* shells.
|
|
||||||
export ENV="$ENVIRON"
|
|
||||||
|
|
||||||
# Set up USER's home directory
|
|
||||||
if [ -z "$HOME" ]; then
|
|
||||||
HOME="/home/$USER"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ! -d "$HOME" ]; then
|
|
||||||
mkdir -p "$HOME"
|
|
||||||
fi
|
|
||||||
|
|
||||||
export HOME USER
|
|
||||||
|
|
||||||
for i in /etc/profile.d/*.sh ; do
|
|
||||||
if [ -f $i ]; then
|
|
||||||
. $i
|
|
||||||
fi
|
|
||||||
done
|
|
||||||
|
|
||||||
export MAKE_MODE=unix
|
|
||||||
export PS1='\[\033]0;\w\007
|
|
||||||
\033[32m\]\u@\h \[\033[33m\w\033[0m\]
|
|
||||||
$ '
|
|
||||||
|
|
||||||
#cd "$HOME"
|
|
||||||
|
|
||||||
# Automated form using the environment variables
|
|
||||||
# set the development paths in the original form and the script will
|
|
||||||
# automatically pick them up.
|
|
||||||
subst i: $DEVDRV_I> /dev/null 2>&1
|
|
||||||
subst j: $DEVDRV_J> /dev/null 2>&1
|
|
||||||
subst k: $DEVDRV_K> /dev/null 2>&1
|
|
||||||
subst l: $DEVDRV_L> /dev/null 2>&1
|
|
||||||
subst m: $DEVDRV_M> /dev/null 2>&1
|
|
||||||
|
|
||||||
# The original form
|
|
||||||
#subst k: c:/dev/SecretStore~security#IndiaRO/SecretStore/SecretStore_src> /dev/null 2>&1
|
|
||||||
#subst j: c:/dev/SecretStore_src~cameron3/SecretStore_src> /dev/null 2>&1
|
|
||||||
#subst i: c:/dev/SecretStore_src~cameron2/SecretStore_src> /dev/null 2>&1
|
|
||||||
#subst l: c:/dev/SecretStore_doc~cameron_ss20/SecretStore_doc> /dev/null 2>&1
|
|
||||||
#subst m: c:/dev/SecretStore_doc~cameron/SecretStore_doc> /dev/null 2>&1
|
|
||||||
|
|
||||||
|
|
||||||
test -f ./.bashrc && . ./.bashrc
|
|
||||||
|
|
||||||
alias a:="cd a:" b:="cd b:" c:="cd c:" d:="cd d:" e:="cd e:" j:="cd j:"
|
|
||||||
alias md=mkdir rd=rmdir i:="cd i:" h:="cd h:" f:="cd f:" k:="cd k:" "n:=cd n:"
|
|
||||||
alias "o:=cd o:"
|
|
||||||
export SWITCHAR=${SWITCHAR:=/} # if not already defined
|
|
||||||
export COMSPEC="${COMSPEC:=$ComSpec}"
|
|
||||||
export TOOLS="c:/tools/"
|
|
||||||
|
|
||||||
for arg in cls copy del dir erase move path ren type ver verify vol
|
|
||||||
do
|
|
||||||
alias $arg="'${COMSPEC}' ${SWITCHAR}c $arg"
|
|
||||||
done
|
|
||||||
|
|
||||||
PS1='[$PWD] '
|
|
||||||
set -o emacs
|
|
||||||
cd j:
|
|
||||||
|
|
Binary file not shown.
@ -20,61 +20,61 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
using System.Runtime.CompilerServices;
|
using System.Runtime.CompilerServices;
|
||||||
|
|
||||||
//
|
//
|
||||||
// General Information about an assembly is controlled through the following
|
// General Information about an assembly is controlled through the following
|
||||||
// set of attributes. Change these attribute values to modify the information
|
// set of attributes. Change these attribute values to modify the information
|
||||||
// associated with an assembly.
|
// associated with an assembly.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyTitle("CASAManager.exe")]
|
[assembly: AssemblyTitle("CASAManager.exe")]
|
||||||
[assembly: AssemblyDescription("")]
|
[assembly: AssemblyDescription("")]
|
||||||
[assembly: AssemblyConfiguration("")]
|
[assembly: AssemblyConfiguration("")]
|
||||||
[assembly: AssemblyCompany("Novell, Inc")]
|
[assembly: AssemblyCompany("Novell, Inc")]
|
||||||
[assembly: AssemblyProduct("CASA")]
|
[assembly: AssemblyProduct("CASA")]
|
||||||
[assembly: AssemblyCopyright("")]
|
[assembly: AssemblyCopyright("")]
|
||||||
[assembly: AssemblyTrademark("")]
|
[assembly: AssemblyTrademark("")]
|
||||||
[assembly: AssemblyCulture("")]
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// Version information for an assembly consists of the following four values:
|
// Version information for an assembly consists of the following four values:
|
||||||
//
|
//
|
||||||
// Major Version
|
// Major Version
|
||||||
// Minor Version
|
// Minor Version
|
||||||
// Build Number
|
// Build Number
|
||||||
// Revision
|
// Revision
|
||||||
//
|
//
|
||||||
// You can specify all the values or you can default the Revision and Build Numbers
|
// You can specify all the values or you can default the Revision and Build Numbers
|
||||||
// by using the '*' as shown below:
|
// by using the '*' as shown below:
|
||||||
|
|
||||||
[assembly: AssemblyVersion("1.7.*")]
|
[assembly: AssemblyVersion("1.7.*")]
|
||||||
|
|
||||||
//
|
//
|
||||||
// In order to sign your assembly you must specify a key to use. Refer to the
|
// In order to sign your assembly you must specify a key to use. Refer to the
|
||||||
// Microsoft .NET Framework documentation for more information on assembly signing.
|
// Microsoft .NET Framework documentation for more information on assembly signing.
|
||||||
//
|
//
|
||||||
// Use the attributes below to control which key is used for signing.
|
// Use the attributes below to control which key is used for signing.
|
||||||
//
|
//
|
||||||
// Notes:
|
// Notes:
|
||||||
// (*) If no key is specified, the assembly is not signed.
|
// (*) If no key is specified, the assembly is not signed.
|
||||||
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
// (*) KeyName refers to a key that has been installed in the Crypto Service
|
||||||
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
// Provider (CSP) on your machine. KeyFile refers to a file which contains
|
||||||
// a key.
|
// a key.
|
||||||
// (*) If the KeyFile and the KeyName values are both specified, the
|
// (*) If the KeyFile and the KeyName values are both specified, the
|
||||||
// following processing occurs:
|
// following processing occurs:
|
||||||
// (1) If the KeyName can be found in the CSP, that key is used.
|
// (1) If the KeyName can be found in the CSP, that key is used.
|
||||||
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
// (2) If the KeyName does not exist and the KeyFile does exist, the key
|
||||||
// in the KeyFile is installed into the CSP and used.
|
// in the KeyFile is installed into the CSP and used.
|
||||||
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility.
|
||||||
// When specifying the KeyFile, the location of the KeyFile should be
|
// When specifying the KeyFile, the location of the KeyFile should be
|
||||||
// relative to the project output directory which is
|
// relative to the project output directory which is
|
||||||
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
// %Project Directory%\obj\<configuration>. For example, if your KeyFile is
|
||||||
// located in the project directory, you would specify the AssemblyKeyFile
|
// located in the project directory, you would specify the AssemblyKeyFile
|
||||||
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")]
|
||||||
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework
|
||||||
// documentation for more information on this.
|
// documentation for more information on this.
|
||||||
//
|
//
|
||||||
[assembly: AssemblyDelaySign(false)]
|
[assembly: AssemblyDelaySign(false)]
|
||||||
[assembly: AssemblyKeyFile("")]
|
[assembly: AssemblyKeyFile("")]
|
||||||
[assembly: AssemblyKeyName("")]
|
[assembly: AssemblyKeyName("")]
|
||||||
|
@ -1,247 +0,0 @@
|
|||||||
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<ProjectType>Local</ProjectType>
|
|
||||||
<ProductVersion>8.0.50727</ProductVersion>
|
|
||||||
<SchemaVersion>2.0</SchemaVersion>
|
|
||||||
<ProjectGuid>{A1A805D0-B400-4D11-A772-348CE13F1046}</ProjectGuid>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ApplicationIcon>
|
|
||||||
</ApplicationIcon>
|
|
||||||
<AssemblyKeyContainerName>
|
|
||||||
</AssemblyKeyContainerName>
|
|
||||||
<AssemblyName>CASAManager</AssemblyName>
|
|
||||||
<AssemblyOriginatorKeyFile>
|
|
||||||
</AssemblyOriginatorKeyFile>
|
|
||||||
<DefaultClientScript>JScript</DefaultClientScript>
|
|
||||||
<DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout>
|
|
||||||
<DefaultTargetSchema>IE50</DefaultTargetSchema>
|
|
||||||
<DelaySign>false</DelaySign>
|
|
||||||
<OutputType>WinExe</OutputType>
|
|
||||||
<RootNamespace>
|
|
||||||
</RootNamespace>
|
|
||||||
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
|
|
||||||
<StartupObject>
|
|
||||||
</StartupObject>
|
|
||||||
<FileUpgradeFlags>
|
|
||||||
</FileUpgradeFlags>
|
|
||||||
<UpgradeBackupLocation>
|
|
||||||
</UpgradeBackupLocation>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<OutputPath>Debug\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile>
|
|
||||||
</ConfigurationOverrideFile>
|
|
||||||
<DefineConstants>W32</DefineConstants>
|
|
||||||
<DocumentationFile>
|
|
||||||
</DocumentationFile>
|
|
||||||
<DebugSymbols>true</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn>
|
|
||||||
</NoWarn>
|
|
||||||
<Optimize>false</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>full</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<OutputPath>Release\</OutputPath>
|
|
||||||
<AllowUnsafeBlocks>false</AllowUnsafeBlocks>
|
|
||||||
<BaseAddress>285212672</BaseAddress>
|
|
||||||
<CheckForOverflowUnderflow>false</CheckForOverflowUnderflow>
|
|
||||||
<ConfigurationOverrideFile>
|
|
||||||
</ConfigurationOverrideFile>
|
|
||||||
<DefineConstants>W32</DefineConstants>
|
|
||||||
<DocumentationFile>
|
|
||||||
</DocumentationFile>
|
|
||||||
<DebugSymbols>false</DebugSymbols>
|
|
||||||
<FileAlignment>4096</FileAlignment>
|
|
||||||
<NoStdLib>false</NoStdLib>
|
|
||||||
<NoWarn>
|
|
||||||
</NoWarn>
|
|
||||||
<Optimize>true</Optimize>
|
|
||||||
<RegisterForComInterop>false</RegisterForComInterop>
|
|
||||||
<RemoveIntegerChecks>false</RemoveIntegerChecks>
|
|
||||||
<TreatWarningsAsErrors>false</TreatWarningsAsErrors>
|
|
||||||
<WarningLevel>4</WarningLevel>
|
|
||||||
<DebugType>none</DebugType>
|
|
||||||
<ErrorReport>prompt</ErrorReport>
|
|
||||||
<PlatformTarget>x86</PlatformTarget>
|
|
||||||
</PropertyGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Reference Include="atk-sharp">
|
|
||||||
<Name>atk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\atk-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="gdk-sharp">
|
|
||||||
<Name>gdk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\gdk-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="glade-sharp">
|
|
||||||
<Name>glade-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\glade-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="glib-sharp">
|
|
||||||
<Name>glib-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\glib-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="gnome-sharp">
|
|
||||||
<Name>gnome-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\gnome-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="gtk-sharp">
|
|
||||||
<Name>gtk-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\gtk-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="pango-sharp">
|
|
||||||
<Name>pango-sharp</Name>
|
|
||||||
<HintPath>F:\Program Files\Mono-2.0.1\lib\mono\gtk-sharp-2.0\pango-sharp.dll</HintPath>
|
|
||||||
<AssemblyFolderKey>hklm\dn\gtk-sharp-2.0</AssemblyFolderKey>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System">
|
|
||||||
<Name>System</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Data">
|
|
||||||
<Name>System.Data</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Drawing">
|
|
||||||
<Name>System.Drawing</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Windows.Forms">
|
|
||||||
<Name>System.Windows.Forms</Name>
|
|
||||||
</Reference>
|
|
||||||
<Reference Include="System.Xml">
|
|
||||||
<Name>System.XML</Name>
|
|
||||||
</Reference>
|
|
||||||
<ProjectReference Include="..\adlib\Novell.CASA.A-D.csproj">
|
|
||||||
<Name>Novell.CASA.A-D</Name>
|
|
||||||
<Project>{25D49F34-F655-4CCF-93F1-449243AF7A32}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\micasad\lib\Novell.CASA.Common.csproj">
|
|
||||||
<Name>Novell.CASA.Common</Name>
|
|
||||||
<Project>{57CD94A2-5B4A-40C3-8189-CB760FB78357}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\policy\Novell.CASA.CASAPolicy.csproj">
|
|
||||||
<Name>Novell.CASA.CASAPolicy</Name>
|
|
||||||
<Project>{636A9D7E-BFB5-4EB9-96F8-51FF85A98826}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
<ProjectReference Include="..\sharp\NSSCSWrapper\Novell.CASA.miCASAWrapper.csproj">
|
|
||||||
<Name>Novell.CASA.miCASAWrapper</Name>
|
|
||||||
<Project>{E21DD887-22F4-4935-9851-409715F663B0}</Project>
|
|
||||||
<Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package>
|
|
||||||
</ProjectReference>
|
|
||||||
</ItemGroup>
|
|
||||||
<ItemGroup>
|
|
||||||
<Compile Include="AssemblyInfo.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="CasaMain.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="CasaTray.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Common.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="CommonGUI.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Config.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="CopySecret.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="DbgFileChooser.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ExportSecrets.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="FileChooser.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="FindAndReplace.cs" />
|
|
||||||
<Compile Include="Firefox.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="GnomeKeyring.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="ImportSecrets.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="KdeWallet.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Logger.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="MiCasa.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Mozilla.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="PersistentPolicyDialog.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="SingleApplication.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="Store.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="StoreDataInterface.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="StorePolicyInterface.cs">
|
|
||||||
<SubType>Code</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Compile Include="windows\NoGTKSharpForm.cs">
|
|
||||||
<SubType>Form</SubType>
|
|
||||||
</Compile>
|
|
||||||
<Content Include="images\casa-logo.png" />
|
|
||||||
<Content Include="images\CASA.bmp" />
|
|
||||||
<Content Include="images\CASAiconsLocked.ico" />
|
|
||||||
<Content Include="images\CASA_16.png" />
|
|
||||||
<Content Include="images\CASA_32.png" />
|
|
||||||
<Content Include="images\CASA_48.png" />
|
|
||||||
<Content Include="images\firefox-logo.png" />
|
|
||||||
<Content Include="images\folder.png" />
|
|
||||||
<Content Include="images\keyring-logo.png" />
|
|
||||||
<Content Include="images\kwallet-logo.png" />
|
|
||||||
<Content Include="images\micasa-logo.png" />
|
|
||||||
<Content Include="images\mozilla-logo.png" />
|
|
||||||
<Content Include="images\novell-logo.png" />
|
|
||||||
<None Include="images\casa.glade" />
|
|
||||||
<None Include="images\casa.gladep" />
|
|
||||||
<EmbeddedResource Include="windows\NoGTKSharpForm.resx">
|
|
||||||
<DependentUpon>NoGTKSharpForm.cs</DependentUpon>
|
|
||||||
</EmbeddedResource>
|
|
||||||
</ItemGroup>
|
|
||||||
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
|
|
||||||
<PropertyGroup>
|
|
||||||
<PreBuildEvent>
|
|
||||||
</PreBuildEvent>
|
|
||||||
<PostBuildEvent>
|
|
||||||
</PostBuildEvent>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,57 +0,0 @@
|
|||||||
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
|
||||||
<PropertyGroup>
|
|
||||||
<LastOpenVersion>7.10.3077</LastOpenVersion>
|
|
||||||
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
|
||||||
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
|
||||||
<ReferencePath>
|
|
||||||
</ReferencePath>
|
|
||||||
<CopyProjectDestinationFolder>
|
|
||||||
</CopyProjectDestinationFolder>
|
|
||||||
<CopyProjectUncPath>
|
|
||||||
</CopyProjectUncPath>
|
|
||||||
<CopyProjectOption>0</CopyProjectOption>
|
|
||||||
<ProjectView>ProjectFiles</ProjectView>
|
|
||||||
<ProjectTrust>0</ProjectTrust>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
|
|
||||||
<EnableASPDebugging>false</EnableASPDebugging>
|
|
||||||
<EnableASPXDebugging>false</EnableASPXDebugging>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
<EnableSQLServerDebugging>false</EnableSQLServerDebugging>
|
|
||||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
|
||||||
<RemoteDebugMachine>
|
|
||||||
</RemoteDebugMachine>
|
|
||||||
<StartAction>Project</StartAction>
|
|
||||||
<StartArguments>-debug</StartArguments>
|
|
||||||
<StartPage>
|
|
||||||
</StartPage>
|
|
||||||
<StartProgram>
|
|
||||||
</StartProgram>
|
|
||||||
<StartURL>
|
|
||||||
</StartURL>
|
|
||||||
<StartWorkingDirectory>
|
|
||||||
</StartWorkingDirectory>
|
|
||||||
<StartWithIE>true</StartWithIE>
|
|
||||||
</PropertyGroup>
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
|
|
||||||
<EnableASPDebugging>false</EnableASPDebugging>
|
|
||||||
<EnableASPXDebugging>false</EnableASPXDebugging>
|
|
||||||
<EnableUnmanagedDebugging>false</EnableUnmanagedDebugging>
|
|
||||||
<EnableSQLServerDebugging>false</EnableSQLServerDebugging>
|
|
||||||
<RemoteDebugEnabled>false</RemoteDebugEnabled>
|
|
||||||
<RemoteDebugMachine>
|
|
||||||
</RemoteDebugMachine>
|
|
||||||
<StartAction>Project</StartAction>
|
|
||||||
<StartArguments>
|
|
||||||
</StartArguments>
|
|
||||||
<StartPage>
|
|
||||||
</StartPage>
|
|
||||||
<StartProgram>
|
|
||||||
</StartProgram>
|
|
||||||
<StartURL>
|
|
||||||
</StartURL>
|
|
||||||
<StartWorkingDirectory>
|
|
||||||
</StartWorkingDirectory>
|
|
||||||
<StartWithIE>true</StartWithIE>
|
|
||||||
</PropertyGroup>
|
|
||||||
</Project>
|
|
@ -1,11 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
HOST_ARCH=`uname -a | grep -c x86_64`
|
|
||||||
if [ $HOST_ARCH -gt 0 ]
|
|
||||||
then ARCH_LIB=64
|
|
||||||
else
|
|
||||||
ARCH_LIB=
|
|
||||||
fi
|
|
||||||
|
|
||||||
|
|
||||||
export MONO_PATH=/usr/lib$ARCH_LIB/
|
|
||||||
mono /usr/bin/CASAManager.exe $1 $2 $3 $4
|
|
3
CASA/gui/CASAManager.sh.cmake
Normal file
3
CASA/gui/CASAManager.sh.cmake
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
export MONO_PATH=@LIBEXEC_INSTALL_DIR@
|
||||||
|
mono @LIBEXEC_INSTALL_DIR@/CASAManager.exe $1 $2 $3 $4
|
88
CASA/gui/CMakeLists.txt
Normal file
88
CASA/gui/CMakeLists.txt
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
#################################
|
||||||
|
# Project
|
||||||
|
##############
|
||||||
|
|
||||||
|
project(CASAManager)
|
||||||
|
|
||||||
|
enable_language(CSharp)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Dependencies
|
||||||
|
##############
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/CASAManager.sh.cmake"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/CASAManager"
|
||||||
|
IMMEDIATE @ONLY)
|
||||||
|
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/Common.cs.cmake"
|
||||||
|
"${CMAKE_CURRENT_BINARY_DIR}/Common.cs"
|
||||||
|
IMMEDIATE @ONLY)
|
||||||
|
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Compiler Switches
|
||||||
|
##############
|
||||||
|
|
||||||
|
INCLUDE_DIRECTORIES(
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
${CMAKE_CURRENT_SOURCE_DIR}
|
||||||
|
)
|
||||||
|
|
||||||
|
add_definitions( -D_GNU_SOURCE )
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Source Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
|
||||||
|
SET(SRC_CS AssemblyInfo.cs
|
||||||
|
CasaMain.cs
|
||||||
|
CasaTray.cs
|
||||||
|
CopySecret.cs
|
||||||
|
DbgFileChooser.cs
|
||||||
|
TrayLib.cs
|
||||||
|
ExportSecrets.cs
|
||||||
|
FileChooser.cs
|
||||||
|
ImportSecrets.cs
|
||||||
|
FindAndReplace.cs
|
||||||
|
Firefox.cs
|
||||||
|
GnomeKeyring.cs
|
||||||
|
KdeWallet.cs
|
||||||
|
Logger.cs
|
||||||
|
MiCasa.cs
|
||||||
|
Mozilla.cs
|
||||||
|
Store.cs
|
||||||
|
StoreDataInterface.cs
|
||||||
|
StorePolicyInterface.cs
|
||||||
|
CommonGUI.cs
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/Common.cs
|
||||||
|
PersistentPolicyDialog.cs
|
||||||
|
Config.cs)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Linking
|
||||||
|
##############
|
||||||
|
|
||||||
|
SET(CS_FLAGS -r:${CMAKE_BINARY_DIR}/micasad/lib/Novell.CASA.Common.dll
|
||||||
|
-r:${CMAKE_BINARY_DIR}/sharp/NSSCSWrapper/Novell.CASA.miCASAWrapper.dll
|
||||||
|
-r:${CMAKE_BINARY_DIR}/policy/Novell.CASA.CASAPolicy.dll
|
||||||
|
-r:${CMAKE_BINARY_DIR}/adlib/Novell.CASA.A-D.dll
|
||||||
|
${GLADE-SHARP_LIBRARIES} -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0 -d:LINUX -nowarn:169)
|
||||||
|
#CSHARP_ADD_LIBRARY(CASAManager "${SRC_CS}" REFERENCES Mono.Posix COMPILE_FLAGS /d:LINUX /warn:0 /keyfile:${KEYFILE})
|
||||||
|
CSHARP_ADD_EXECUTABLE(CASAManager "${SRC_CS}" REFERENCES Novell.CASA.Common Novell.CASA.miCASAWrapper Mono.Posix System.Security
|
||||||
|
Novell.CASA.CASAPolicy Novell.CASA.A-D COMPILE_FLAGS -pkg:gtk-sharp-2.0 -pkg:glade-sharp-2.0 -d:LINUX -nowarn:169)
|
||||||
|
ADD_DEPENDENCIES(CASAManager Novell.CASA.Common Novell.CASA.miCASAWrapper Novell.CASA.CASAPolicy Novell.CASA.A-D)
|
||||||
|
|
||||||
|
#################################
|
||||||
|
# Install Files
|
||||||
|
##############
|
||||||
|
|
||||||
|
FILE(GLOB help_files "${CMAKE_CURRENT_SOURCE_DIR}/help/en/*")
|
||||||
|
INSTALL(FILES ${help_files} DESTINATION ${LIBEXEC_INSTALL_DIR}/help/en/)
|
||||||
|
FILE(GLOB images_files "${CMAKE_CURRENT_SOURCE_DIR}/images/*")
|
||||||
|
INSTALL(FILES ${images_files} DESTINATION ${LIBEXEC_INSTALL_DIR}/images/)
|
||||||
|
INSTALL(FILES ${CMAKE_CURRENT_SOURCE_DIR}/CASAManager.exe.config DESTINATION ${LIBEXEC_INSTALL_DIR})
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CASAManager.exe DESTINATION ${LIBEXEC_INSTALL_DIR})
|
||||||
|
INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/CASAManager DESTINATION ${BIN_INSTALL_DIR})
|
@ -42,13 +42,13 @@ namespace Novell.CASA.GUI
|
|||||||
public static System.Drawing.Icon m_iconNormal;
|
public static System.Drawing.Icon m_iconNormal;
|
||||||
public static System.Drawing.Icon m_iconLocked;
|
public static System.Drawing.Icon m_iconLocked;
|
||||||
|
|
||||||
private System.Windows.Forms.ToolStripMenuItem cmOpen;
|
private System.Windows.Forms.ToolStripMenuItem cmOpen;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
|
||||||
private System.Windows.Forms.ToolStripMenuItem cmLock;
|
private System.Windows.Forms.ToolStripMenuItem cmLock;
|
||||||
private System.Windows.Forms.ToolStripMenuItem cmUnlock;
|
private System.Windows.Forms.ToolStripMenuItem cmUnlock;
|
||||||
private System.Windows.Forms.ToolStripMenuItem cmDestroySecrets;
|
private System.Windows.Forms.ToolStripMenuItem cmDestroySecrets;
|
||||||
private System.Windows.Forms.ToolStripMenuItem cmExit;
|
private System.Windows.Forms.ToolStripMenuItem cmExit;
|
||||||
#endif
|
#endif
|
||||||
#if LINUX
|
#if LINUX
|
||||||
@ -152,99 +152,99 @@ namespace Novell.CASA.GUI
|
|||||||
icon.ShowAll();
|
icon.ShowAll();
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if W32
|
#if W32
|
||||||
|
|
||||||
private void ShowContextMenu()
|
private void ShowContextMenu()
|
||||||
{
|
{
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
System.Windows.Forms.ContextMenuStrip cm = new System.Windows.Forms.ContextMenuStrip();
|
System.Windows.Forms.ContextMenuStrip cm = new System.Windows.Forms.ContextMenuStrip();
|
||||||
notifyIcon.ContextMenuStrip = cm;
|
notifyIcon.ContextMenuStrip = cm;
|
||||||
|
|
||||||
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
|
||||||
cmOpen = new System.Windows.Forms.ToolStripMenuItem("Manage Secrets");
|
cmOpen = new System.Windows.Forms.ToolStripMenuItem("Manage Secrets");
|
||||||
cmLock = new System.Windows.Forms.ToolStripMenuItem("Lock Secrets");
|
cmLock = new System.Windows.Forms.ToolStripMenuItem("Lock Secrets");
|
||||||
cmUnlock = new System.Windows.Forms.ToolStripMenuItem("Unlock Secrets");
|
cmUnlock = new System.Windows.Forms.ToolStripMenuItem("Unlock Secrets");
|
||||||
cmDestroySecrets = new System.Windows.Forms.ToolStripMenuItem("Destroy Secrets");
|
cmDestroySecrets = new System.Windows.Forms.ToolStripMenuItem("Destroy Secrets");
|
||||||
cmExit = new System.Windows.Forms.ToolStripMenuItem("Exit");
|
cmExit = new System.Windows.Forms.ToolStripMenuItem("Exit");
|
||||||
|
|
||||||
cmOpen.Click += new EventHandler(cmOpen_Click);
|
cmOpen.Click += new EventHandler(cmOpen_Click);
|
||||||
cmLock.Click += new EventHandler(cmLock_Click);
|
cmLock.Click += new EventHandler(cmLock_Click);
|
||||||
cmUnlock.Click += new EventHandler(cmUnlock_Click);
|
cmUnlock.Click += new EventHandler(cmUnlock_Click);
|
||||||
cmDestroySecrets.Click += new EventHandler(cmDestroySecrets_Click);
|
cmDestroySecrets.Click += new EventHandler(cmDestroySecrets_Click);
|
||||||
cmExit.Click += new EventHandler(cmExit_Click);
|
cmExit.Click += new EventHandler(cmExit_Click);
|
||||||
|
|
||||||
cmUnlock.Enabled = false;
|
cmUnlock.Enabled = false;
|
||||||
|
|
||||||
cm.Items.AddRange(new System.Windows.Forms.ToolStripItem[]
|
cm.Items.AddRange(new System.Windows.Forms.ToolStripItem[]
|
||||||
{
|
{
|
||||||
cmOpen,
|
cmOpen,
|
||||||
toolStripSeparator1,
|
toolStripSeparator1,
|
||||||
cmLock,
|
cmLock,
|
||||||
cmUnlock,
|
cmUnlock,
|
||||||
toolStripSeparator2,
|
toolStripSeparator2,
|
||||||
cmDestroySecrets,
|
cmDestroySecrets,
|
||||||
toolStripSeparator3,
|
toolStripSeparator3,
|
||||||
cmExit});
|
cmExit});
|
||||||
|
|
||||||
cm.Name = "contextMenuStripNotify";
|
cm.Name = "contextMenuStripNotify";
|
||||||
cm.ShowImageMargin = false;
|
cm.ShowImageMargin = false;
|
||||||
cm.Size = new System.Drawing.Size(143, 104);
|
cm.Size = new System.Drawing.Size(143, 104);
|
||||||
|
|
||||||
if (MiCASAStore.IsLocked())
|
if (MiCASAStore.IsLocked())
|
||||||
{
|
{
|
||||||
cmDestroySecrets.Enabled = false;
|
cmDestroySecrets.Enabled = false;
|
||||||
cmLock.Enabled = false;
|
cmLock.Enabled = false;
|
||||||
cmUnlock.Enabled = true;
|
cmUnlock.Enabled = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cmDestroySecrets.Enabled = true;
|
cmDestroySecrets.Enabled = true;
|
||||||
cmLock.Enabled = true;
|
cmLock.Enabled = true;
|
||||||
cmUnlock.Enabled = false;
|
cmUnlock.Enabled = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
Logger.DbgLog(e.ToString());
|
Logger.DbgLog(e.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmOpen_Click(object sender, EventArgs e)
|
void cmOpen_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
menuLaunchGUI_Activated(null, null);
|
menuLaunchGUI_Activated(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmLock_Click(object sender, EventArgs e)
|
void cmLock_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
menuLockMiCasa_Activated(null, null);
|
menuLockMiCasa_Activated(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmUnlock_Click(object sender, EventArgs e)
|
void cmUnlock_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
menuLockMiCasa_Activated(null, null);
|
menuLockMiCasa_Activated(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmDestroySecrets_Click(object sender, EventArgs e)
|
void cmDestroySecrets_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
menuDestroyMiCasa_Activated(null, null);
|
menuDestroyMiCasa_Activated(null, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cmExit_Click(object sender, EventArgs e)
|
void cmExit_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
OnPopupClick(sender, e);
|
OnPopupClick(sender, e);
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
private void ShowContextMenu()
|
private void ShowContextMenu()
|
||||||
@ -336,10 +336,10 @@ namespace Novell.CASA.GUI
|
|||||||
ShowContextMenu();
|
ShowContextMenu();
|
||||||
}
|
}
|
||||||
if (args.Event.Button == 1)
|
if (args.Event.Button == 1)
|
||||||
{
|
{
|
||||||
if (m_config.GetConfigSetting(Common.CONFIG_DISPLAY_CASA_MANAGER, true))
|
if (m_config.GetConfigSetting(Common.CONFIG_DISPLAY_CASA_MANAGER, true))
|
||||||
menuLaunchGUI_Activated(null, null);
|
menuLaunchGUI_Activated(null, null);
|
||||||
else
|
else
|
||||||
menuLockMiCasa_Activated(null, null);
|
menuLockMiCasa_Activated(null, null);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -353,11 +353,11 @@ namespace Novell.CASA.GUI
|
|||||||
Application.Quit(); // quits the application when the users clicks the popup menu
|
Application.Quit(); // quits the application when the users clicks the popup menu
|
||||||
}
|
}
|
||||||
#if W32
|
#if W32
|
||||||
|
|
||||||
private void notifyIcon_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
|
private void notifyIcon_MouseDown(object sender, System.Windows.Forms.MouseEventArgs e)
|
||||||
{
|
{
|
||||||
if (e.Button == System.Windows.Forms.MouseButtons.Right)
|
if (e.Button == System.Windows.Forms.MouseButtons.Right)
|
||||||
ShowContextMenu();
|
ShowContextMenu();
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
@ -474,6 +474,6 @@ namespace Novell.CASA.GUI
|
|||||||
#endif
|
#endif
|
||||||
Application.Quit();
|
Application.Quit();
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -125,25 +125,25 @@ public class Common
|
|||||||
INDEX_NATIVEINFO_WALLETLASTACCESSEDTIME = 7;
|
INDEX_NATIVEINFO_WALLETLASTACCESSEDTIME = 7;
|
||||||
|
|
||||||
|
|
||||||
public static string LINUX_HELP_PATH = "file:///usr/share/doc/packages/CASA/help/";
|
public static string LINUX_HELP_PATH = "file://@LIBEXEC_INSTALL_DIR@/help/";
|
||||||
public static string WINDOWS_HELP_PATH = "..\\help\\";
|
public static string WINDOWS_HELP_PATH = "..\\help\\";
|
||||||
|
|
||||||
#if W32
|
#if W32
|
||||||
public static string IMAGE_PATH = "..\\images\\";
|
public static string IMAGE_PATH = "..\\images\\";
|
||||||
#else
|
#else
|
||||||
public static string IMAGE_PATH = "/usr/share/doc/packages/CASA/images/";
|
public static string IMAGE_PATH = "@LIBEXEC_INSTALL_DIR@/images/";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
///##############################################################
|
///##############################################################
|
||||||
/// ARG CONSTANTS
|
/// ARG CONSTANTS
|
||||||
///
|
///
|
||||||
public const string ARG_NO_TRAY_ICON = "-notray";
|
public const string ARG_NO_TRAY_ICON = "-notray";
|
||||||
public const string ARG_DEBUG = "-debug";
|
public const string ARG_DEBUG = "-debug";
|
||||||
public const string ARG_MINIMIZE_ON_START = "-min";
|
public const string ARG_MINIMIZE_ON_START = "-min";
|
||||||
public const string ARG_HELP = "-help";
|
public const string ARG_HELP = "-help";
|
||||||
|
|
||||||
public static bool bArgShowTrayIcon = true;
|
public static bool bArgShowTrayIcon = true;
|
||||||
public static bool bArgDebug = false;
|
public static bool bArgDebug = false;
|
||||||
public static bool bArgStartMinimized = false;
|
public static bool bArgStartMinimized = false;
|
||||||
|
|
||||||
// config settings
|
// config settings
|
||||||
@ -162,7 +162,7 @@ public class Common
|
|||||||
public static string CASAICONS = "../images/CASAicons.ico";
|
public static string CASAICONS = "../images/CASAicons.ico";
|
||||||
#endif
|
#endif
|
||||||
#if LINUX
|
#if LINUX
|
||||||
public static string CASAICONS = "/usr/share/doc/packages/CASA/images/CASAicons.ico";
|
public static string CASAICONS = "@LIBEXEC_INSTALL_DIR@/images/CASAicons.ico";
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
///##############################################################
|
///##############################################################
|
||||||
@ -217,7 +217,7 @@ public class Common
|
|||||||
if ( (128 == platform) || (4 == platform) )
|
if ( (128 == platform) || (4 == platform) )
|
||||||
{
|
{
|
||||||
IS_LINUX = true;
|
IS_LINUX = true;
|
||||||
GladeFile = "/usr/share/doc/packages/CASA/images/casa.glade";
|
GladeFile = "@LIBEXEC_INSTALL_DIR@/images/casa.glade";
|
||||||
|
|
||||||
if( !File.Exists(GladeFile) )
|
if( !File.Exists(GladeFile) )
|
||||||
{
|
{
|
||||||
@ -335,40 +335,40 @@ public class Common
|
|||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void ParseArgs(string[] args)
|
public static void ParseArgs(string[] args)
|
||||||
{
|
{
|
||||||
foreach (string arg in args)
|
foreach (string arg in args)
|
||||||
{
|
{
|
||||||
|
|
||||||
switch (arg)
|
switch (arg)
|
||||||
{
|
{
|
||||||
case Common.ARG_NO_TRAY_ICON:
|
case Common.ARG_NO_TRAY_ICON:
|
||||||
bArgShowTrayIcon = false;
|
bArgShowTrayIcon = false;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Common.ARG_DEBUG:
|
case Common.ARG_DEBUG:
|
||||||
bArgDebug = true;
|
bArgDebug = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Common.ARG_MINIMIZE_ON_START:
|
case Common.ARG_MINIMIZE_ON_START:
|
||||||
bArgStartMinimized = true;
|
bArgStartMinimized = true;
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case Common.ARG_HELP:
|
case Common.ARG_HELP:
|
||||||
Console.WriteLine("Usage options");
|
Console.WriteLine("Usage options");
|
||||||
Console.WriteLine(Common.ARG_NO_TRAY_ICON + " do not show tray icon");
|
Console.WriteLine(Common.ARG_NO_TRAY_ICON + " do not show tray icon");
|
||||||
Console.WriteLine(Common.ARG_MINIMIZE_ON_START + " start minimized");
|
Console.WriteLine(Common.ARG_MINIMIZE_ON_START + " start minimized");
|
||||||
Console.WriteLine(Common.ARG_HELP + " show help options");
|
Console.WriteLine(Common.ARG_HELP + " show help options");
|
||||||
Application.Quit();
|
Application.Quit();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//default:
|
//default:
|
||||||
Console.WriteLine("Unsupported argument {0}", arg);
|
Console.WriteLine("Unsupported argument {0}", arg);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private static string GetLocale()
|
private static string GetLocale()
|
||||||
@ -466,14 +466,14 @@ public class Common
|
|||||||
}
|
}
|
||||||
|
|
||||||
internal static string GetUserName()
|
internal static string GetUserName()
|
||||||
{
|
{
|
||||||
if (Common.IS_LINUX)
|
if (Common.IS_LINUX)
|
||||||
{
|
{
|
||||||
return Environment.GetEnvironmentVariable("USER");
|
return Environment.GetEnvironmentVariable("USER");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return Environment.GetEnvironmentVariable("USERNAME");
|
return Environment.GetEnvironmentVariable("USERNAME");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -20,7 +20,7 @@
|
|||||||
*
|
*
|
||||||
***********************************************************************/
|
***********************************************************************/
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
|
||||||
using Gtk;
|
using Gtk;
|
||||||
@ -41,9 +41,9 @@ namespace Novell.CASA.GUI
|
|||||||
public class CommonGUI
|
public class CommonGUI
|
||||||
{
|
{
|
||||||
|
|
||||||
public static string HINT_DIR = "Export Directory";
|
public static string HINT_DIR = "Export Directory";
|
||||||
public static string HINT_FILENAME = "Export Filename";
|
public static string HINT_FILENAME = "Export Filename";
|
||||||
public static string REMEMBER_SETTING = "Remember_Master_Password_Time";
|
public static string REMEMBER_SETTING = "Remember_Master_Password_Time";
|
||||||
private static string CASA_REG_KEY = "SOFTWARE\\Novell\\CASA";
|
private static string CASA_REG_KEY = "SOFTWARE\\Novell\\CASA";
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
@ -90,20 +90,20 @@ namespace Novell.CASA.GUI
|
|||||||
|
|
||||||
gxmlTemp.Autoconnect (this);
|
gxmlTemp.Autoconnect (this);
|
||||||
|
|
||||||
dialogLogin.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain");
|
dialogLogin.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain");
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
dialogLogin.Title = "CASA - Master Password";
|
dialogLogin.Title = "CASA - Master Password";
|
||||||
label85.Markup = "<b>Master Password Authentication</b>";
|
label85.Markup = "<b>Master Password Authentication</b>";
|
||||||
label86.Text = "Enter your Master Password to unlock your secrets.";
|
label86.Text = "Enter your Master Password to unlock your secrets.";
|
||||||
label87.Text = "Master Password:";
|
label87.Text = "Master Password:";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
dialogLogin.Title = "CASA - Desktop Password";
|
dialogLogin.Title = "CASA - Desktop Password";
|
||||||
label85.Markup = "<b>Password Authentication</b>";
|
label85.Markup = "<b>Password Authentication</b>";
|
||||||
label86.Text = "Enter your Desktop Password to unlock your secrets.";
|
label86.Text = "Enter your Desktop Password to unlock your secrets.";
|
||||||
label87.Text = "Desktop Password:";
|
label87.Text = "Desktop Password:";
|
||||||
}
|
}
|
||||||
|
|
||||||
entryMasterPassword3.Text="";
|
entryMasterPassword3.Text="";
|
||||||
@ -167,64 +167,64 @@ namespace Novell.CASA.GUI
|
|||||||
}
|
}
|
||||||
|
|
||||||
public void okbuttonLogin_clicked(object abj, EventArgs args)
|
public void okbuttonLogin_clicked(object abj, EventArgs args)
|
||||||
{
|
{
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
if (0 == miCASA.SetMasterPassword(0, entryMasterPassword3.Text))
|
if (0 == miCASA.SetMasterPassword(0, entryMasterPassword3.Text))
|
||||||
{
|
{
|
||||||
// unlock it
|
// unlock it
|
||||||
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_UNLOCK_STORE, entryMasterPassword3.Text);
|
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_UNLOCK_STORE, entryMasterPassword3.Text);
|
||||||
m_bPasswordVerified = true;
|
m_bPasswordVerified = true;
|
||||||
dialogLogin.Destroy();
|
dialogLogin.Destroy();
|
||||||
|
|
||||||
//signal now
|
//signal now
|
||||||
m_bIsVerifing = false;
|
m_bIsVerifing = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// prompt user
|
// prompt user
|
||||||
MessageDialog md = new MessageDialog(
|
MessageDialog md = new MessageDialog(
|
||||||
mainWindow, Gtk.DialogFlags.Modal,
|
mainWindow, Gtk.DialogFlags.Modal,
|
||||||
Gtk.MessageType.Warning,
|
Gtk.MessageType.Warning,
|
||||||
Gtk.ButtonsType.Ok,
|
Gtk.ButtonsType.Ok,
|
||||||
"Master Password entered is incorrect");
|
"Master Password entered is incorrect");
|
||||||
|
|
||||||
md.Response += new ResponseHandler(md_Response2);
|
md.Response += new ResponseHandler(md_Response2);
|
||||||
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
||||||
md.Modal = true;
|
md.Modal = true;
|
||||||
md.SetIconFromFile(Common.CASAICONS);
|
md.SetIconFromFile(Common.CASAICONS);
|
||||||
md.Show();
|
md.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
||||||
if (Novell.CASA.miCASA.ValidateDesktopPwd(entryMasterPassword3.Text))
|
if (Novell.CASA.miCASA.ValidateDesktopPwd(entryMasterPassword3.Text))
|
||||||
{
|
{
|
||||||
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_UNLOCK_STORE, entryMasterPassword3.Text);
|
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_UNLOCK_STORE, entryMasterPassword3.Text);
|
||||||
m_bPasswordVerified = true;
|
m_bPasswordVerified = true;
|
||||||
dialogLogin.Destroy();
|
dialogLogin.Destroy();
|
||||||
|
|
||||||
//signal now
|
//signal now
|
||||||
m_bIsVerifing = false;
|
m_bIsVerifing = false;
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// prompt user
|
// prompt user
|
||||||
MessageDialog md = new MessageDialog(
|
MessageDialog md = new MessageDialog(
|
||||||
mainWindow, Gtk.DialogFlags.Modal,
|
mainWindow, Gtk.DialogFlags.Modal,
|
||||||
Gtk.MessageType.Warning,
|
Gtk.MessageType.Warning,
|
||||||
Gtk.ButtonsType.Ok,
|
Gtk.ButtonsType.Ok,
|
||||||
"Password entered is incorrect");
|
"Password entered is incorrect");
|
||||||
|
|
||||||
md.Response += new ResponseHandler(md_Response2);
|
md.Response += new ResponseHandler(md_Response2);
|
||||||
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
||||||
md.Modal = true;
|
md.Modal = true;
|
||||||
md.SetIconFromFile(Common.CASAICONS);
|
md.SetIconFromFile(Common.CASAICONS);
|
||||||
md.Show();
|
md.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -270,8 +270,8 @@ namespace Novell.CASA.GUI
|
|||||||
mTrayInstance.UpdateTrayIcon(true);
|
mTrayInstance.UpdateTrayIcon(true);
|
||||||
else
|
else
|
||||||
mTrayInstance.UpdateTrayIcon(false);
|
mTrayInstance.UpdateTrayIcon(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
m_bIsVerifing = false;
|
m_bIsVerifing = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -289,52 +289,52 @@ namespace Novell.CASA.GUI
|
|||||||
|
|
||||||
|
|
||||||
#if GTK2x
|
#if GTK2x
|
||||||
public static string FileChooser(FileChooserAction action, String sWindowTitle, String sCurrentFolder, String sHintFileName)
|
public static string FileChooser(FileChooserAction action, String sWindowTitle, String sCurrentFolder, String sHintFileName)
|
||||||
{
|
{
|
||||||
FileChooserDialog chooser = new FileChooserDialog (sWindowTitle,
|
FileChooserDialog chooser = new FileChooserDialog (sWindowTitle,
|
||||||
null,
|
null,
|
||||||
action);
|
action);
|
||||||
|
|
||||||
if (sCurrentFolder != null)
|
if (sCurrentFolder != null)
|
||||||
chooser.SetCurrentFolder(sCurrentFolder);
|
chooser.SetCurrentFolder(sCurrentFolder);
|
||||||
|
|
||||||
if (sHintFileName != null)
|
if (sHintFileName != null)
|
||||||
chooser.SetFilename(sCurrentFolder+sHintFileName);
|
chooser.SetFilename(sCurrentFolder+sHintFileName);
|
||||||
|
|
||||||
|
|
||||||
// set location
|
// set location
|
||||||
chooser.SetPosition(Gtk.WindowPosition.CenterAlways);
|
chooser.SetPosition(Gtk.WindowPosition.CenterAlways);
|
||||||
chooser.AddButton (Stock.Cancel, ResponseType.Cancel);
|
chooser.AddButton (Stock.Cancel, ResponseType.Cancel);
|
||||||
|
|
||||||
if (action == FileChooserAction.Open)
|
if (action == FileChooserAction.Open)
|
||||||
chooser.AddButton (Stock.Open, ResponseType.Ok);
|
chooser.AddButton (Stock.Open, ResponseType.Ok);
|
||||||
else
|
else
|
||||||
chooser.AddButton(Stock.Save, ResponseType.Ok);
|
chooser.AddButton(Stock.Save, ResponseType.Ok);
|
||||||
|
|
||||||
int response = chooser.Run ();
|
int response = chooser.Run ();
|
||||||
|
|
||||||
string ret = null;
|
string ret = null;
|
||||||
if ((ResponseType) response == ResponseType.Ok)
|
if ((ResponseType) response == ResponseType.Ok)
|
||||||
{
|
{
|
||||||
ret = chooser.Uri;
|
ret = chooser.Uri;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
// if the action is SAVE, and the file that is choosen exists, prompt the user for overwrite
|
// if the action is SAVE, and the file that is choosen exists, prompt the user for overwrite
|
||||||
if (action == FileChooserAction.Save)
|
if (action == FileChooserAction.Save)
|
||||||
{
|
{
|
||||||
string sFilename = ret.Substring(8);
|
string sFilename = ret.Substring(8);
|
||||||
if (System.IO.File.Exists(sFilename))
|
if (System.IO.File.Exists(sFilename))
|
||||||
{
|
{
|
||||||
// prompt user for overwrite
|
// prompt user for overwrite
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
chooser.Destroy();
|
chooser.Destroy();
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
/// <summary>
|
/// <summary>
|
||||||
@ -346,41 +346,41 @@ namespace Novell.CASA.GUI
|
|||||||
private bool m_bIsVerifing = true;
|
private bool m_bIsVerifing = true;
|
||||||
|
|
||||||
public bool VerifyMasterPasswordWithUser()
|
public bool VerifyMasterPasswordWithUser()
|
||||||
{
|
{
|
||||||
if (UseMasterPassword())
|
if (UseMasterPassword())
|
||||||
{
|
{
|
||||||
//Logger.DbgLog("GUI:CasaMain.Login() - IsMasterPasswordSet returned false");
|
//Logger.DbgLog("GUI:CasaMain.Login() - IsMasterPasswordSet returned false");
|
||||||
#if W32
|
#if W32
|
||||||
Glade.XML gxmlTemp = new Glade.XML("../images/casa.glade", "dialogLogin", null);
|
Glade.XML gxmlTemp = new Glade.XML("../images/casa.glade", "dialogLogin", null);
|
||||||
#endif
|
#endif
|
||||||
#if LINUX
|
#if LINUX
|
||||||
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLogin", null);
|
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogLogin", null);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gxmlTemp.Autoconnect(this);
|
gxmlTemp.Autoconnect(this);
|
||||||
dialogLogin.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); ;
|
dialogLogin.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain"); ;
|
||||||
|
|
||||||
label86.Text = "Enter your Master Password to continue.";
|
label86.Text = "Enter your Master Password to continue.";
|
||||||
entryMasterPassword3.Text = "";
|
entryMasterPassword3.Text = "";
|
||||||
label88.Hide();
|
label88.Hide();
|
||||||
entryMasterPassword4.Hide();
|
entryMasterPassword4.Hide();
|
||||||
//dialogLogin.SetPosition(Gtk.WindowPosition.Center);
|
//dialogLogin.SetPosition(Gtk.WindowPosition.Center);
|
||||||
dialogLogin.Destroyed += new EventHandler(dialogLogin_Destroyed);
|
dialogLogin.Destroyed += new EventHandler(dialogLogin_Destroyed);
|
||||||
dialogLogin.Modal = true;
|
dialogLogin.Modal = true;
|
||||||
dialogLogin.Show();
|
dialogLogin.Show();
|
||||||
|
|
||||||
while (m_bIsVerifing)
|
while (m_bIsVerifing)
|
||||||
{
|
{
|
||||||
// Flush pending events to keep the GUI reponsive
|
// Flush pending events to keep the GUI reponsive
|
||||||
while (Gtk.Application.EventsPending())
|
while (Gtk.Application.EventsPending())
|
||||||
Gtk.Application.RunIteration();
|
Gtk.Application.RunIteration();
|
||||||
Thread.Sleep(100);
|
Thread.Sleep(100);
|
||||||
}
|
}
|
||||||
return m_bPasswordVerified;
|
return m_bPasswordVerified;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -405,62 +405,62 @@ namespace Novell.CASA.GUI
|
|||||||
{
|
{
|
||||||
md.Destroy();
|
md.Destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static bool UseMasterPassword()
|
internal static bool UseMasterPassword()
|
||||||
{
|
{
|
||||||
string sSettingValue;
|
string sSettingValue;
|
||||||
sSettingValue = GetGlobalConfSetting("UseMasterPassword", "false");
|
sSettingValue = GetGlobalConfSetting("UseMasterPassword", "false");
|
||||||
if (sSettingValue.Equals("true"))
|
if (sSettingValue.Equals("true"))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
internal static string GetGlobalConfSetting(string sSettingName, string sDefaultValue)
|
internal static string GetGlobalConfSetting(string sSettingName, string sDefaultValue)
|
||||||
{
|
{
|
||||||
string sSettingValue = null;
|
string sSettingValue = null;
|
||||||
|
|
||||||
if (sSettingName != null)
|
if (sSettingName != null)
|
||||||
{
|
{
|
||||||
sSettingValue = (string)MiCasaRequestReply.Send(MiCasaRequestReply.VERB_GET_GLOBAL_SETTING, null, null, null, sSettingName);
|
sSettingValue = (string)MiCasaRequestReply.Send(MiCasaRequestReply.VERB_GET_GLOBAL_SETTING, null, null, null, sSettingName);
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((sSettingValue == null) && (sDefaultValue != null))
|
if ((sSettingValue == null) && (sDefaultValue != null))
|
||||||
{
|
{
|
||||||
sSettingValue = sDefaultValue;
|
sSettingValue = sDefaultValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
return sSettingValue;
|
return sSettingValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
#if W32
|
#if W32
|
||||||
|
|
||||||
private static bool IsRegKeySet(string sPath, string sValue)
|
private static bool IsRegKeySet(string sPath, string sValue)
|
||||||
{
|
{
|
||||||
Microsoft.Win32.RegistryKey key;
|
Microsoft.Win32.RegistryKey key;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sPath);
|
key = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sPath);
|
||||||
string sTemp = (string)key.GetValue(sValue);
|
string sTemp = (string)key.GetValue(sValue);
|
||||||
key.Close();
|
key.Close();
|
||||||
|
|
||||||
if (sTemp.Equals("true"))
|
if (sTemp.Equals("true"))
|
||||||
{
|
{
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception e)
|
catch (Exception e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static bool IsGTKSharpInstalled()
|
public static bool IsGTKSharpInstalled()
|
||||||
|
@ -1,76 +1,76 @@
|
|||||||
using System;
|
using System;
|
||||||
using Novell.CASA.CASAPolicy;
|
using Novell.CASA.CASAPolicy;
|
||||||
|
|
||||||
namespace Novell.CASA.GUI
|
namespace Novell.CASA.GUI
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Summary description for Config.
|
/// Summary description for Config.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class Config
|
public class Config
|
||||||
{
|
{
|
||||||
private UIPol uiPolicy = null;
|
private UIPol uiPolicy = null;
|
||||||
public Config()
|
public Config()
|
||||||
{
|
{
|
||||||
if (uiPolicy == null)
|
if (uiPolicy == null)
|
||||||
{
|
{
|
||||||
uiPolicy = (UIPol)ICASAPol.GetPolicy(CASAPolType.UI_POL);
|
uiPolicy = (UIPol)ICASAPol.GetPolicy(CASAPolType.UI_POL);
|
||||||
}
|
}
|
||||||
|
|
||||||
// if there is no uiPolicy, create one
|
// if there is no uiPolicy, create one
|
||||||
if (uiPolicy == null)
|
if (uiPolicy == null)
|
||||||
{
|
{
|
||||||
uiPolicy = new UIPol(false, false, false, "", null);
|
uiPolicy = new UIPol(false, false, false, "", null);
|
||||||
ICASAPol.SetPolicy(uiPolicy);
|
ICASAPol.SetPolicy(uiPolicy);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetConfigSetting(string sName, bool bValue)
|
public void SetConfigSetting(string sName, bool bValue)
|
||||||
{
|
{
|
||||||
if (bValue)
|
if (bValue)
|
||||||
SetConfigSetting(sName, "1");
|
SetConfigSetting(sName, "1");
|
||||||
else
|
else
|
||||||
SetConfigSetting(sName, "0");
|
SetConfigSetting(sName, "0");
|
||||||
}
|
}
|
||||||
|
|
||||||
public void SetConfigSetting(string sName, string sValue)
|
public void SetConfigSetting(string sName, string sValue)
|
||||||
{
|
{
|
||||||
uiPolicy.SetConfigSetting(sName, sValue);
|
uiPolicy.SetConfigSetting(sName, sValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public bool GetConfigSetting(string sName, bool bDefaultValue)
|
public bool GetConfigSetting(string sName, bool bDefaultValue)
|
||||||
{
|
{
|
||||||
string sDefault = "0";
|
string sDefault = "0";
|
||||||
if (bDefaultValue)
|
if (bDefaultValue)
|
||||||
sDefault = "1";
|
sDefault = "1";
|
||||||
|
|
||||||
string sValue = GetConfigSetting(sName, sDefault);
|
string sValue = GetConfigSetting(sName, sDefault);
|
||||||
{
|
{
|
||||||
if (sValue != null)
|
if (sValue != null)
|
||||||
{
|
{
|
||||||
if (sValue.Equals("1"))
|
if (sValue.Equals("1"))
|
||||||
return true;
|
return true;
|
||||||
else
|
else
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
return bDefaultValue;
|
return bDefaultValue;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public string GetConfigSetting(string sName, string sDefaultValue)
|
public string GetConfigSetting(string sName, string sDefaultValue)
|
||||||
{
|
{
|
||||||
string sValue = uiPolicy.GetConfigSetting(sName);
|
string sValue = uiPolicy.GetConfigSetting(sName);
|
||||||
if (sValue == null)
|
if (sValue == null)
|
||||||
return sDefaultValue;
|
return sDefaultValue;
|
||||||
else
|
else
|
||||||
return sValue;
|
return sValue;
|
||||||
}
|
}
|
||||||
|
|
||||||
// used to write current configsettings to disk.
|
// used to write current configsettings to disk.
|
||||||
public void WriteConfig()
|
public void WriteConfig()
|
||||||
{
|
{
|
||||||
uiPolicy.WriteConfig();
|
uiPolicy.WriteConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,118 +1,118 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
using System.Collections;
|
using System.Collections;
|
||||||
|
|
||||||
using Gtk;
|
using Gtk;
|
||||||
using Glade;
|
using Glade;
|
||||||
|
|
||||||
|
|
||||||
namespace Novell.CASA.GUI
|
namespace Novell.CASA.GUI
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Summary description for CopySecret.
|
/// Summary description for CopySecret.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class CopySecret
|
public class CopySecret
|
||||||
{
|
{
|
||||||
#region Glade Widgets
|
#region Glade Widgets
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Dialog dialogCopySecret;
|
Gtk.Dialog dialogCopySecret;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.CheckButton checkbuttonMiCASA,
|
Gtk.CheckButton checkbuttonMiCASA,
|
||||||
checkbuttonFPM,
|
checkbuttonFPM,
|
||||||
checkbuttonMPM,
|
checkbuttonMPM,
|
||||||
checkbuttonKDE,
|
checkbuttonKDE,
|
||||||
checkbuttonGNOME;
|
checkbuttonGNOME;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Entry
|
Gtk.Entry
|
||||||
entryMiCASA,
|
entryMiCASA,
|
||||||
entryFPM,
|
entryFPM,
|
||||||
entryMPM,
|
entryMPM,
|
||||||
entryKDE,
|
entryKDE,
|
||||||
entryGNOME;
|
entryGNOME;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Label
|
Gtk.Label
|
||||||
labelMiCASA,
|
labelMiCASA,
|
||||||
labelFPM,
|
labelFPM,
|
||||||
labelMPM,
|
labelMPM,
|
||||||
labelKDE,
|
labelKDE,
|
||||||
labelGNOME;
|
labelGNOME;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private string m_sSecretID = "http://www.novell.com";
|
private string m_sSecretID = "http://www.novell.com";
|
||||||
private string[] m_saKeys;
|
private string[] m_saKeys;
|
||||||
private string[] m_saValues;
|
private string[] m_saValues;
|
||||||
|
|
||||||
public CopySecret(string sSrcSecretID, string[] saKeys, string[] saValues)
|
public CopySecret(string sSrcSecretID, string[] saKeys, string[] saValues)
|
||||||
{
|
{
|
||||||
m_sSecretID = sSrcSecretID;
|
m_sSecretID = sSrcSecretID;
|
||||||
m_saKeys = saKeys;
|
m_saKeys = saKeys;
|
||||||
m_saValues = saValues;
|
m_saValues = saValues;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Show()
|
public void Show()
|
||||||
{
|
{
|
||||||
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogCopySecret", null);
|
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogCopySecret", null);
|
||||||
gxmlTemp.Autoconnect (this);
|
gxmlTemp.Autoconnect (this);
|
||||||
InitDialog();
|
InitDialog();
|
||||||
dialogCopySecret.Show();
|
dialogCopySecret.Show();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void InitDialog()
|
private void InitDialog()
|
||||||
{
|
{
|
||||||
if (Common.IS_MICASA)
|
if (Common.IS_MICASA)
|
||||||
{
|
{
|
||||||
checkbuttonMiCASA.Visible = checkbuttonMiCASA.Sensitive = Common.IS_MICASA_AVAILABLE;
|
checkbuttonMiCASA.Visible = checkbuttonMiCASA.Sensitive = Common.IS_MICASA_AVAILABLE;
|
||||||
checkbuttonMiCASA.Toggled += new EventHandler(checkbuttonMiCASA_Toggled);
|
checkbuttonMiCASA.Toggled += new EventHandler(checkbuttonMiCASA_Toggled);
|
||||||
labelMiCASA.Visible = entryMiCASA.Visible = Common.IS_MICASA_AVAILABLE;
|
labelMiCASA.Visible = entryMiCASA.Visible = Common.IS_MICASA_AVAILABLE;
|
||||||
|
|
||||||
if (m_sSecretID.StartsWith("http:"))
|
if (m_sSecretID.StartsWith("http:"))
|
||||||
entryMiCASA.Text = m_sSecretID.Substring(7);
|
entryMiCASA.Text = m_sSecretID.Substring(7);
|
||||||
else
|
else
|
||||||
entryMiCASA.Text = m_sSecretID;
|
entryMiCASA.Text = m_sSecretID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Common.IS_FIREFOX)
|
if (Common.IS_FIREFOX)
|
||||||
{
|
{
|
||||||
checkbuttonFPM.Visible = checkbuttonFPM.Sensitive = Common.IS_FIREFOX_AVAILABLE;
|
checkbuttonFPM.Visible = checkbuttonFPM.Sensitive = Common.IS_FIREFOX_AVAILABLE;
|
||||||
checkbuttonFPM.Toggled += new EventHandler(checkbuttonFPM_Toggled);
|
checkbuttonFPM.Toggled += new EventHandler(checkbuttonFPM_Toggled);
|
||||||
labelFPM.Visible = entryFPM.Visible = Common.IS_FIREFOX_AVAILABLE;
|
labelFPM.Visible = entryFPM.Visible = Common.IS_FIREFOX_AVAILABLE;
|
||||||
|
|
||||||
if (!m_sSecretID.StartsWith("http:"))
|
if (!m_sSecretID.StartsWith("http:"))
|
||||||
entryFPM.Text = "http://"+m_sSecretID;
|
entryFPM.Text = "http://"+m_sSecretID;
|
||||||
else
|
else
|
||||||
entryFPM.Text = m_sSecretID;
|
entryFPM.Text = m_sSecretID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Common.IS_MOZILLA)
|
if (Common.IS_MOZILLA)
|
||||||
{
|
{
|
||||||
checkbuttonMPM.Visible = checkbuttonMPM.Sensitive = Common.IS_MOZILLA_AVAILABLE;
|
checkbuttonMPM.Visible = checkbuttonMPM.Sensitive = Common.IS_MOZILLA_AVAILABLE;
|
||||||
checkbuttonMPM.Toggled += new EventHandler(checkbuttonMPM_Toggled);
|
checkbuttonMPM.Toggled += new EventHandler(checkbuttonMPM_Toggled);
|
||||||
labelMPM.Visible = entryMPM.Visible = Common.IS_MOZILLA_AVAILABLE;
|
labelMPM.Visible = entryMPM.Visible = Common.IS_MOZILLA_AVAILABLE;
|
||||||
entryMPM.Text = m_sSecretID;
|
entryMPM.Text = m_sSecretID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Common.IS_KDEWALLET)
|
if (Common.IS_KDEWALLET)
|
||||||
{
|
{
|
||||||
checkbuttonKDE.Visible = checkbuttonKDE.Sensitive = Common.IS_KDEWALLET_AVAILABLE;
|
checkbuttonKDE.Visible = checkbuttonKDE.Sensitive = Common.IS_KDEWALLET_AVAILABLE;
|
||||||
checkbuttonKDE.Toggled += new EventHandler(checkbuttonKDE_Toggled);
|
checkbuttonKDE.Toggled += new EventHandler(checkbuttonKDE_Toggled);
|
||||||
labelKDE.Visible = entryKDE.Visible = Common.IS_KDEWALLET_AVAILABLE;
|
labelKDE.Visible = entryKDE.Visible = Common.IS_KDEWALLET_AVAILABLE;
|
||||||
entryKDE.Text = m_sSecretID;
|
entryKDE.Text = m_sSecretID;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Common.IS_GNOMEKEYRING)
|
if (Common.IS_GNOMEKEYRING)
|
||||||
{
|
{
|
||||||
checkbuttonGNOME.Visible = checkbuttonGNOME.Sensitive = Common.IS_GNOMEKEYRING_AVAILABLE;
|
checkbuttonGNOME.Visible = checkbuttonGNOME.Sensitive = Common.IS_GNOMEKEYRING_AVAILABLE;
|
||||||
checkbuttonGNOME.Toggled += new EventHandler(checkbuttonGNOME_Toggled);
|
checkbuttonGNOME.Toggled += new EventHandler(checkbuttonGNOME_Toggled);
|
||||||
labelGNOME.Visible = entryGNOME.Visible = Common.IS_GNOMEKEYRING_AVAILABLE;
|
labelGNOME.Visible = entryGNOME.Visible = Common.IS_GNOMEKEYRING_AVAILABLE;
|
||||||
entryGNOME.Text = m_sSecretID;
|
entryGNOME.Text = m_sSecretID;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public void on_buttonCopyCancel_clicked(object obj, EventArgs args)
|
public void on_buttonCopyCancel_clicked(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
if (dialogCopySecret != null)
|
if (dialogCopySecret != null)
|
||||||
@ -175,114 +175,114 @@ namespace Novell.CASA.GUI
|
|||||||
dialogCopySecret.Destroy();
|
dialogCopySecret.Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void checkbuttonMiCASA_Toggled(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
entryMiCASA.Sensitive = checkbuttonMiCASA.Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkbuttonFPM_Toggled(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
entryFPM.Sensitive = checkbuttonFPM.Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkbuttonMPM_Toggled(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
entryMPM.Sensitive = checkbuttonMPM.Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkbuttonKDE_Toggled(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
entryKDE.Sensitive = checkbuttonKDE.Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void checkbuttonGNOME_Toggled(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
entryGNOME.Sensitive = checkbuttonGNOME.Active;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
private string DoCopy(string sNewSecretName, int iTargetStore)
|
private void checkbuttonMiCASA_Toggled(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Logger.DbgLog("GUI:CopySecret.DoCopy() - BEGIN");
|
entryMiCASA.Sensitive = checkbuttonMiCASA.Active;
|
||||||
|
}
|
||||||
TreeModel model;
|
|
||||||
TreeIter iter;
|
private void checkbuttonFPM_Toggled(object sender, EventArgs e)
|
||||||
|
{
|
||||||
TreeModel modelSecret;
|
entryFPM.Sensitive = checkbuttonFPM.Active;
|
||||||
TreeIter iterSecret, iterKey;
|
}
|
||||||
|
|
||||||
string[] NativeKeys = null,
|
private void checkbuttonMPM_Toggled(object sender, EventArgs e)
|
||||||
NativeValues = null;
|
{
|
||||||
|
entryMPM.Sensitive = checkbuttonMPM.Active;
|
||||||
try
|
}
|
||||||
{
|
|
||||||
NativeKeys = new string[Common.MAX_NATIVE_ELEMENTS];
|
private void checkbuttonKDE_Toggled(object sender, EventArgs e)
|
||||||
NativeValues = new string[Common.MAX_NATIVE_ELEMENTS];
|
{
|
||||||
NativeKeys[Common.INDEX_NATIVEINFO_FOLDERNAME] = Common.NATIVEINFO_FOLDERNAME;
|
entryKDE.Sensitive = checkbuttonKDE.Active;
|
||||||
NativeKeys[Common.INDEX_NATIVEINFO_TYPEID] = Common.NATIVEINFO_TYPEID;
|
}
|
||||||
NativeKeys[Common.INDEX_NATIVEINFO_SYNC] = Common.NATIVEINFO_SYNC;
|
|
||||||
NativeKeys[Common.INDEX_NATIVEINFO_SYNCTYPE] = Common.NATIVEINFO_SYNCTYPE;
|
private void checkbuttonGNOME_Toggled(object sender, EventArgs e)
|
||||||
NativeKeys[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = Common.NATIVEINFO_MODIFIEDTIME;
|
{
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_FOLDERNAME] = null;
|
entryGNOME.Sensitive = checkbuttonGNOME.Active;
|
||||||
|
}
|
||||||
if (iTargetStore == Common.STORE_FIREFOX)
|
|
||||||
{
|
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Signon";
|
private string DoCopy(string sNewSecretName, int iTargetStore)
|
||||||
}
|
{
|
||||||
else if (iTargetStore == Common.STORE_GNOMEKEYRING)
|
Logger.DbgLog("GUI:CopySecret.DoCopy() - BEGIN");
|
||||||
{
|
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Network Password";
|
TreeModel model;
|
||||||
}
|
TreeIter iter;
|
||||||
else
|
|
||||||
{
|
TreeModel modelSecret;
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = null;
|
TreeIter iterSecret, iterKey;
|
||||||
}
|
|
||||||
|
string[] NativeKeys = null,
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_SYNC] = null;
|
NativeValues = null;
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_SYNCTYPE] = null;
|
|
||||||
NativeValues[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = null;
|
try
|
||||||
|
{
|
||||||
TreeStore tsTargetSecret;
|
NativeKeys = new string[Common.MAX_NATIVE_ELEMENTS];
|
||||||
TreeView tvTargetSecret = new TreeView();
|
NativeValues = new string[Common.MAX_NATIVE_ELEMENTS];
|
||||||
if (iTargetStore == Common.STORE_FIREFOX)
|
NativeKeys[Common.INDEX_NATIVEINFO_FOLDERNAME] = Common.NATIVEINFO_FOLDERNAME;
|
||||||
{
|
NativeKeys[Common.INDEX_NATIVEINFO_TYPEID] = Common.NATIVEINFO_TYPEID;
|
||||||
ArrayList arrIsPassword = new ArrayList();
|
NativeKeys[Common.INDEX_NATIVEINFO_SYNC] = Common.NATIVEINFO_SYNC;
|
||||||
for (int i=0; i<m_saKeys.Length; i++)
|
NativeKeys[Common.INDEX_NATIVEINFO_SYNCTYPE] = Common.NATIVEINFO_SYNCTYPE;
|
||||||
{
|
NativeKeys[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = Common.NATIVEINFO_MODIFIEDTIME;
|
||||||
if (m_saKeys[i].ToLower().IndexOf("pass") > -1)
|
NativeValues[Common.INDEX_NATIVEINFO_FOLDERNAME] = null;
|
||||||
arrIsPassword.Add(true);
|
|
||||||
else
|
if (iTargetStore == Common.STORE_FIREFOX)
|
||||||
arrIsPassword.Add(false);
|
{
|
||||||
}
|
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Signon";
|
||||||
|
}
|
||||||
bool[] IsPassword = (bool[])arrIsPassword.ToArray(typeof(bool));
|
else if (iTargetStore == Common.STORE_GNOMEKEYRING)
|
||||||
tsTargetSecret = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[]), typeof(bool[]));
|
{
|
||||||
iterSecret = tsTargetSecret.AppendValues(sNewSecretName, m_saKeys, m_saValues, DataEngines.AD.GetDefaultProfileName(Common.STORE_FIREFOX), NativeKeys, NativeValues, IsPassword);
|
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = "Network Password";
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tsTargetSecret = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[]));
|
NativeValues[Common.INDEX_NATIVEINFO_TYPEID] = null;
|
||||||
iterSecret = tsTargetSecret.AppendValues(sNewSecretName, m_saKeys, m_saValues, "Default", NativeKeys, NativeValues);
|
}
|
||||||
}
|
|
||||||
|
NativeValues[Common.INDEX_NATIVEINFO_SYNC] = null;
|
||||||
modelSecret = tvTargetSecret.Model = tsTargetSecret;
|
NativeValues[Common.INDEX_NATIVEINFO_SYNCTYPE] = null;
|
||||||
|
NativeValues[Common.INDEX_NATIVEINFO_MODIFIEDTIME] = null;
|
||||||
if( Common.STATUS_SUCCESS == StoreDataInterface.UpdateStore(iTargetStore, Common.OPERATION_ADD_SECRET, "", "", ref modelSecret, ref iterSecret) )
|
|
||||||
{
|
TreeStore tsTargetSecret;
|
||||||
return Common.saStoreNameList[iTargetStore] + " Success";
|
TreeView tvTargetSecret = new TreeView();
|
||||||
}
|
if (iTargetStore == Common.STORE_FIREFOX)
|
||||||
else
|
{
|
||||||
{
|
ArrayList arrIsPassword = new ArrayList();
|
||||||
return Common.saStoreNameList[iTargetStore] + " Failed";
|
for (int i=0; i<m_saKeys.Length; i++)
|
||||||
}
|
{
|
||||||
|
if (m_saKeys[i].ToLower().IndexOf("pass") > -1)
|
||||||
}
|
arrIsPassword.Add(true);
|
||||||
catch (Exception e)
|
else
|
||||||
{
|
arrIsPassword.Add(false);
|
||||||
return (Common.saStoreNameList[iTargetStore] + " : " + e.ToString());
|
}
|
||||||
}
|
|
||||||
}
|
bool[] IsPassword = (bool[])arrIsPassword.ToArray(typeof(bool));
|
||||||
}
|
tsTargetSecret = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[]), typeof(bool[]));
|
||||||
}
|
iterSecret = tsTargetSecret.AppendValues(sNewSecretName, m_saKeys, m_saValues, DataEngines.AD.GetDefaultProfileName(Common.STORE_FIREFOX), NativeKeys, NativeValues, IsPassword);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
tsTargetSecret = new TreeStore(typeof(string), typeof(string[]), typeof(string[]), typeof(string), typeof(string[]), typeof(string[]));
|
||||||
|
iterSecret = tsTargetSecret.AppendValues(sNewSecretName, m_saKeys, m_saValues, "Default", NativeKeys, NativeValues);
|
||||||
|
}
|
||||||
|
|
||||||
|
modelSecret = tvTargetSecret.Model = tsTargetSecret;
|
||||||
|
|
||||||
|
if( Common.STATUS_SUCCESS == StoreDataInterface.UpdateStore(iTargetStore, Common.OPERATION_ADD_SECRET, "", "", ref modelSecret, ref iterSecret) )
|
||||||
|
{
|
||||||
|
return Common.saStoreNameList[iTargetStore] + " Success";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
return Common.saStoreNameList[iTargetStore] + " Failed";
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
return (Common.saStoreNameList[iTargetStore] + " : " + e.ToString());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
@ -1,78 +1,78 @@
|
|||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace Novell.CASA.GUI
|
namespace Novell.CASA.GUI
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Summary description for DbgFileChooser.
|
/// Summary description for DbgFileChooser.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class DbgFileChooser
|
public class DbgFileChooser
|
||||||
{
|
{
|
||||||
#region widgets
|
#region widgets
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Dialog dialogDebugFileChooser;
|
Gtk.Dialog dialogDebugFileChooser;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Entry entrySaveFile,
|
Gtk.Entry entrySaveFile,
|
||||||
entryOpenFile,
|
entryOpenFile,
|
||||||
entryChooseDirectory;
|
entryChooseDirectory;
|
||||||
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public DbgFileChooser()
|
public DbgFileChooser()
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Run()
|
public void Run()
|
||||||
{
|
{
|
||||||
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogDebugFileChooser", null);
|
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogDebugFileChooser", null);
|
||||||
gxmlTemp.Autoconnect (this);
|
gxmlTemp.Autoconnect (this);
|
||||||
//dialogDebugFileChooser.TransientFor = windowMain;
|
//dialogDebugFileChooser.TransientFor = windowMain;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void on_buttonSaveFile_clicked(object obj, EventArgs args)
|
public void on_buttonSaveFile_clicked(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
FileChooser fc = new FileChooser(FileChooser.ACTION_SAVE);
|
FileChooser fc = new FileChooser(FileChooser.ACTION_SAVE);
|
||||||
string sFile = fc.GetFile(null, null, "*.casa");
|
string sFile = fc.GetFile(null, null, "*.casa");
|
||||||
if (sFile != null)
|
if (sFile != null)
|
||||||
{
|
{
|
||||||
entrySaveFile.Text = sFile;
|
entrySaveFile.Text = sFile;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entrySaveFile.Text = "Null";
|
entrySaveFile.Text = "Null";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void on_buttonOpenFile_clicked(object obj, EventArgs args)
|
public void on_buttonOpenFile_clicked(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
FileChooser fc = new FileChooser(FileChooser.ACTION_OPEN);
|
FileChooser fc = new FileChooser(FileChooser.ACTION_OPEN);
|
||||||
string sFile = fc.GetFile(null, null, "*.casa");
|
string sFile = fc.GetFile(null, null, "*.casa");
|
||||||
if (sFile != null)
|
if (sFile != null)
|
||||||
{
|
{
|
||||||
entryOpenFile.Text = sFile;
|
entryOpenFile.Text = sFile;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entryOpenFile.Text = "Null";
|
entryOpenFile.Text = "Null";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
public void on_buttonChooseDirectory_clicked(object obj, EventArgs args)
|
public void on_buttonChooseDirectory_clicked(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
FileChooser fc = new FileChooser(FileChooser.ACTION_CHOOSE_DIR);
|
FileChooser fc = new FileChooser(FileChooser.ACTION_CHOOSE_DIR);
|
||||||
string sFile = fc.GetFile(null, null, "*.casa");
|
string sFile = fc.GetFile(null, null, "*.casa");
|
||||||
if (sFile != null)
|
if (sFile != null)
|
||||||
{
|
{
|
||||||
entryChooseDirectory.Text = sFile;
|
entryChooseDirectory.Text = sFile;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
entryChooseDirectory.Text = "Null";
|
entryChooseDirectory.Text = "Null";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,22 +1,22 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
|
||||||
using Novell.CASA.MiCasa.Communication;
|
using Novell.CASA.MiCasa.Communication;
|
||||||
using Novell.CASA.MiCasa.Common;
|
using Novell.CASA.MiCasa.Common;
|
||||||
|
|
||||||
using Gtk;
|
using Gtk;
|
||||||
using Glade;
|
using Glade;
|
||||||
|
|
||||||
namespace Novell.CASA.GUI
|
namespace Novell.CASA.GUI
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Summary description for ExportSecrets.
|
/// Summary description for ExportSecrets.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class ExportSecrets
|
public class ExportSecrets
|
||||||
{
|
{
|
||||||
|
|
||||||
private Config m_config = null;
|
private Config m_config = null;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Label labelExportDialogDesc1,
|
Gtk.Label labelExportDialogDesc1,
|
||||||
labelExportDialogDesc2,
|
labelExportDialogDesc2,
|
||||||
@ -28,22 +28,22 @@ namespace Novell.CASA.GUI
|
|||||||
Gtk.Entry entryMasterPassword;
|
Gtk.Entry entryMasterPassword;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Dialog dialogExport;
|
Gtk.Dialog dialogExport;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.CheckButton checkbuttonNoEncrypt;
|
Gtk.CheckButton checkbuttonNoEncrypt;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Button buttonNewFolder;
|
Gtk.Button buttonNewFolder;
|
||||||
|
|
||||||
public ExportSecrets(Config config)
|
public ExportSecrets(Config config)
|
||||||
{
|
{
|
||||||
m_config = config;
|
m_config = config;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Run()
|
public void Run()
|
||||||
{
|
{
|
||||||
// prompt for master password, and optional passphrase to encrypt
|
// prompt for master password, and optional passphrase to encrypt
|
||||||
//Logger.DbgLog("GUI:CasaMain.Login() - IsMasterPasswordSet returned false");
|
//Logger.DbgLog("GUI:CasaMain.Login() - IsMasterPasswordSet returned false");
|
||||||
#if W32
|
#if W32
|
||||||
Glade.XML gxmlTemp = new Glade.XML ("../images/casa.glade", "dialogExport", null);
|
Glade.XML gxmlTemp = new Glade.XML ("../images/casa.glade", "dialogExport", null);
|
||||||
@ -52,46 +52,46 @@ namespace Novell.CASA.GUI
|
|||||||
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogExport", null);
|
Glade.XML gxmlTemp = new Glade.XML (Common.GladeFile, "dialogExport", null);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
gxmlTemp.Autoconnect (this);
|
gxmlTemp.Autoconnect (this);
|
||||||
|
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
labelExportDialogDesc1.Visible = true;
|
labelExportDialogDesc1.Visible = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
labelExportDialogDesc2.Visible = true;
|
labelExportDialogDesc2.Visible = true;
|
||||||
labelExportDialogPrompt.Text = "Encryption string:";
|
labelExportDialogPrompt.Text = "Encryption string:";
|
||||||
}
|
}
|
||||||
|
|
||||||
dialogExport.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain");
|
dialogExport.TransientFor = (Gtk.Window)CasaMain.gxmlMain.GetWidget("windowMain");
|
||||||
dialogExport.Destroyed += new EventHandler(dialogExport_Destroyed);
|
dialogExport.Destroyed += new EventHandler(dialogExport_Destroyed);
|
||||||
dialogExport.Modal = true;
|
dialogExport.Modal = true;
|
||||||
dialogExport.Show();
|
dialogExport.Show();
|
||||||
}
|
}
|
||||||
private void dialogExport_Destroyed(object sender, EventArgs e)
|
private void dialogExport_Destroyed(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private void on_buttonHelpExportSecrets_clicked(object sender, EventArgs args)
|
private void on_buttonHelpExportSecrets_clicked(object sender, EventArgs args)
|
||||||
{
|
{
|
||||||
Common.ShowHelpUrl("ExportingSecrets.htm");
|
Common.ShowHelpUrl("ExportingSecrets.htm");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
private void on_buttonCloseExportSecrets_clicked(object sender, EventArgs args)
|
private void on_buttonCloseExportSecrets_clicked(object sender, EventArgs args)
|
||||||
{
|
{
|
||||||
if (dialogExport != null)
|
if (dialogExport != null)
|
||||||
{
|
{
|
||||||
dialogExport.Destroy();
|
dialogExport.Destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void on_buttonOkExportSecrets_clicked(object sender, EventArgs args)
|
private void on_buttonOkExportSecrets_clicked(object sender, EventArgs args)
|
||||||
{
|
{
|
||||||
bool bUseMasterPassword = CommonGUI.UseMasterPassword();
|
bool bUseMasterPassword = CommonGUI.UseMasterPassword();
|
||||||
|
|
||||||
if ( ((bUseMasterPassword) && (0 == miCASA.SetMasterPassword(0, entryMasterPassword.Text) ))
|
if ( ((bUseMasterPassword) && (0 == miCASA.SetMasterPassword(0, entryMasterPassword.Text) ))
|
||||||
|| (!bUseMasterPassword))
|
|| (!bUseMasterPassword))
|
||||||
{
|
{
|
||||||
@ -99,11 +99,11 @@ namespace Novell.CASA.GUI
|
|||||||
string sEncryptString = entryMasterPassword.Text;
|
string sEncryptString = entryMasterPassword.Text;
|
||||||
|
|
||||||
if (checkbuttonNoEncrypt.Active)
|
if (checkbuttonNoEncrypt.Active)
|
||||||
sEncryptString = null;
|
sEncryptString = null;
|
||||||
|
|
||||||
if (entryMasterPassword.Text.Length < 1)
|
if (entryMasterPassword.Text.Length < 1)
|
||||||
{
|
{
|
||||||
sEncryptString = null;
|
sEncryptString = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (dialogExport != null)
|
if (dialogExport != null)
|
||||||
@ -150,27 +150,27 @@ namespace Novell.CASA.GUI
|
|||||||
m_config.WriteConfig();
|
m_config.WriteConfig();
|
||||||
|
|
||||||
// call our daemon to get the users secrets
|
// call our daemon to get the users secrets
|
||||||
ExportXMLSecrets exportSecrets = new ExportXMLSecrets(sMasterPWD, sEncryptString, null);
|
ExportXMLSecrets exportSecrets = new ExportXMLSecrets(sMasterPWD, sEncryptString, null);
|
||||||
byte[] baSecrets = (byte[])Novell.CASA.MiCasa.Communication.MiCasaRequestReply.Send(MiCasaRequestReply.VERB_EXPORT_SECRETS, null, null, null, exportSecrets);
|
byte[] baSecrets = (byte[])Novell.CASA.MiCasa.Communication.MiCasaRequestReply.Send(MiCasaRequestReply.VERB_EXPORT_SECRETS, null, null, null, exportSecrets);
|
||||||
|
|
||||||
if (baSecrets != null)
|
if (baSecrets != null)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
FileStream fs = new FileStream(sFileName, FileMode.Create);
|
FileStream fs = new FileStream(sFileName, FileMode.Create);
|
||||||
fs.Write(baSecrets, 0, baSecrets.Length);
|
fs.Write(baSecrets, 0, baSecrets.Length);
|
||||||
fs.Flush();
|
fs.Flush();
|
||||||
fs.Close();
|
fs.Close();
|
||||||
CommonGUI.DisplayMessage(MessageType.Info, "Secrets saved to: \r\n" + sFileName);
|
CommonGUI.DisplayMessage(MessageType.Info, "Secrets saved to: \r\n" + sFileName);
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
{
|
{
|
||||||
CommonGUI.DisplayMessage(MessageType.Error, "Failed to save secrets");
|
CommonGUI.DisplayMessage(MessageType.Error, "Failed to save secrets");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CommonGUI.DisplayMessage(MessageType.Error, "No Secrets found");
|
CommonGUI.DisplayMessage(MessageType.Error, "No Secrets found");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -186,26 +186,26 @@ namespace Novell.CASA.GUI
|
|||||||
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
md.SetPosition(Gtk.WindowPosition.CenterOnParent);
|
||||||
md.Modal = true;
|
md.Modal = true;
|
||||||
md.Show();
|
md.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private string GetStorageFileName(string sHintDir, string sHintFile)
|
private string GetStorageFileName(string sHintDir, string sHintFile)
|
||||||
{
|
{
|
||||||
|
|
||||||
FileChooser fc = new FileChooser(FileChooser.ACTION_SAVE);
|
FileChooser fc = new FileChooser(FileChooser.ACTION_SAVE);
|
||||||
String sFileName = fc.GetFile(sHintDir, sHintFile, "*.casa");
|
String sFileName = fc.GetFile(sHintDir, sHintFile, "*.casa");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
#if W32
|
#if W32
|
||||||
String sFileName = CommonGUI.FileChooser(FileChooserAction.Save, "Select filename and location for secrets", sHintDir, sHintFile);
|
String sFileName = CommonGUI.FileChooser(FileChooserAction.Save, "Select filename and location for secrets", sHintDir, sHintFile);
|
||||||
#else
|
#else
|
||||||
String sFileName = null;
|
String sFileName = null;
|
||||||
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Not implemented");
|
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Not implemented");
|
||||||
#endif
|
#endif
|
||||||
*/
|
*/
|
||||||
return sFileName;
|
return sFileName;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void md_Response2(object o, ResponseArgs args)
|
private void md_Response2(object o, ResponseArgs args)
|
||||||
{
|
{
|
||||||
MessageDialog md = (MessageDialog)o;
|
MessageDialog md = (MessageDialog)o;
|
||||||
@ -213,6 +213,6 @@ namespace Novell.CASA.GUI
|
|||||||
{
|
{
|
||||||
md.Destroy();
|
md.Destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,412 +1,412 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
using Gtk;
|
using Gtk;
|
||||||
using Glade;
|
using Glade;
|
||||||
|
|
||||||
namespace Novell.CASA.GUI
|
namespace Novell.CASA.GUI
|
||||||
{
|
{
|
||||||
class FindAndReplace
|
class FindAndReplace
|
||||||
{
|
{
|
||||||
#region Glade Widgets
|
#region Glade Widgets
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.TreeView tvResults;
|
Gtk.TreeView tvResults;
|
||||||
|
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Dialog dialogFindAndReplace,
|
Gtk.Dialog dialogFindAndReplace,
|
||||||
dialogLogin;
|
dialogLogin;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Button bttnFind,
|
Gtk.Button bttnFind,
|
||||||
bttnReplaceAll,
|
bttnReplaceAll,
|
||||||
bttnApply,
|
bttnApply,
|
||||||
bttnCancel,
|
bttnCancel,
|
||||||
bttnRevert,
|
bttnRevert,
|
||||||
bttnOk,
|
bttnOk,
|
||||||
bttnHelp;
|
bttnHelp;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Entry entryFind,
|
Gtk.Entry entryFind,
|
||||||
entryNewValue,
|
entryNewValue,
|
||||||
entryMasterPassword3,
|
entryMasterPassword3,
|
||||||
entryMasterPassword4;
|
entryMasterPassword4;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.CheckButton cbShowValues;
|
Gtk.CheckButton cbShowValues;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Label label86,
|
Gtk.Label label86,
|
||||||
label88,
|
label88,
|
||||||
labelRememberFor,
|
labelRememberFor,
|
||||||
labelSeconds;
|
labelSeconds;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.SpinButton spinbuttonRememberFor;
|
Gtk.SpinButton spinbuttonRememberFor;
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private TreeModel m_tmCASA;
|
private TreeModel m_tmCASA;
|
||||||
private TreeStore m_tsCASA;
|
private TreeStore m_tsCASA;
|
||||||
private TreeStore tsResults;
|
private TreeStore tsResults;
|
||||||
private Store m_store;
|
private Store m_store;
|
||||||
|
|
||||||
private int m_iRememberSeconds = 5;
|
private int m_iRememberSeconds = 5;
|
||||||
|
|
||||||
public FindAndReplace(Store store, TreeModel tmCASA, TreeStore tsCASA)
|
public FindAndReplace(Store store, TreeModel tmCASA, TreeStore tsCASA)
|
||||||
{
|
{
|
||||||
m_store = store;
|
m_store = store;
|
||||||
m_tmCASA = tmCASA;
|
m_tmCASA = tmCASA;
|
||||||
m_tsCASA = tsCASA;
|
m_tsCASA = tsCASA;
|
||||||
}
|
|
||||||
|
|
||||||
public void ShowDialog()
|
|
||||||
{
|
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogFindAndReplace", null);
|
|
||||||
gxmlTemp.Autoconnect(this);
|
|
||||||
|
|
||||||
dialogFindAndReplace.SetPosition(WindowPosition.CenterOnParent);
|
|
||||||
|
|
||||||
tvResults.AppendColumn("SecretID", new Gtk.CellRendererText(), "text", 0);
|
|
||||||
tvResults.AppendColumn("Key", new Gtk.CellRendererText(), "text", 1);
|
|
||||||
tvResults.AppendColumn("Value", new Gtk.CellRendererText(), "text", 2);
|
|
||||||
|
|
||||||
tvResults.Selection.Mode = SelectionMode.Multiple;
|
|
||||||
|
|
||||||
// 0:secretID, 1:Key, 2:Value****, 3:ValueClear, 4:dirtyBit
|
|
||||||
tsResults = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(bool));
|
|
||||||
tvResults.Model = tsResults;
|
|
||||||
|
|
||||||
// hook up event handles
|
|
||||||
bttnApply.Clicked += new EventHandler(bttnApply_Clicked);
|
|
||||||
bttnCancel.Clicked += new EventHandler(bttnCancel_Clicked);
|
|
||||||
bttnRevert.Clicked += new EventHandler(bttnRevert_Clicked);
|
|
||||||
bttnFind.Clicked += new EventHandler(bttnFind_Clicked);
|
|
||||||
bttnOk.Clicked += new EventHandler(bttnOk_Clicked);
|
|
||||||
bttnReplaceAll.Clicked += new EventHandler(bttnReplaceAll_Clicked);
|
|
||||||
bttnHelp.Clicked += new EventHandler(bttnHelp_Clicked);
|
|
||||||
|
|
||||||
cbShowValues.Toggled += new EventHandler(cbShowValues_Toggled);
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
void bttnHelp_Clicked(object sender, EventArgs e)
|
|
||||||
{
|
|
||||||
Common.ShowHelpUrl("FindReplace.htm");
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
public void okbuttonLogin_clicked(object abj, EventArgs args)
|
|
||||||
{
|
|
||||||
TreeViewColumn tvCol;
|
|
||||||
|
|
||||||
if (0 == miCASA.SetMasterPassword(0, entryMasterPassword3.Text))
|
|
||||||
{
|
|
||||||
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
|
||||||
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
|
||||||
tvResults.InsertColumn(tvCol, 2);
|
|
||||||
|
|
||||||
// get seconds to remember
|
|
||||||
//m_sRememberFor = spinbuttonRememberFor.Text;
|
|
||||||
|
|
||||||
//if (m_sRememberFor != null)
|
|
||||||
//{
|
|
||||||
// DateTime dtNow = DateTime.Now;
|
|
||||||
// m_iRememberSeconds = int.Parse(m_sRememberFor);
|
|
||||||
// CommonGUI.SetRememberMPUntil(dtNow.AddSeconds(m_iRememberSeconds));
|
|
||||||
//}
|
|
||||||
|
|
||||||
// save off remember time if user changed it
|
|
||||||
//string sSaveTimed = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, "5");
|
|
||||||
//if (!sSaveTimed.Equals(m_sRememberFor))
|
|
||||||
// {
|
|
||||||
// m_config.SetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
|
||||||
// m_config.WriteConfig();
|
|
||||||
//}
|
|
||||||
|
|
||||||
dialogLogin.Destroy();
|
|
||||||
|
|
||||||
//if (m_iRememberSeconds > 0)
|
|
||||||
// StartRememberTimer();
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
// warn user
|
|
||||||
CommonGUI.DisplayMessage(MessageType.Warning, "Master Password incorrect");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
public void on_entryMasterPassword3_activate(object obj, EventArgs args)
|
|
||||||
{
|
|
||||||
if ("" != entryMasterPassword3.Text)
|
|
||||||
okbuttonLogin_clicked(obj, args);
|
|
||||||
}
|
|
||||||
|
|
||||||
public void on_entryMasterPassword4_activate(object obj, EventArgs args)
|
|
||||||
{
|
|
||||||
okbuttonLogin_clicked(obj, args);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void ShowDialog()
|
||||||
public void on_helpbuttonAuthentication_clicked(object obj, EventArgs args)
|
{
|
||||||
{
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogFindAndReplace", null);
|
||||||
Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm");
|
gxmlTemp.Autoconnect(this);
|
||||||
|
|
||||||
|
dialogFindAndReplace.SetPosition(WindowPosition.CenterOnParent);
|
||||||
|
|
||||||
|
tvResults.AppendColumn("SecretID", new Gtk.CellRendererText(), "text", 0);
|
||||||
|
tvResults.AppendColumn("Key", new Gtk.CellRendererText(), "text", 1);
|
||||||
|
tvResults.AppendColumn("Value", new Gtk.CellRendererText(), "text", 2);
|
||||||
|
|
||||||
|
tvResults.Selection.Mode = SelectionMode.Multiple;
|
||||||
|
|
||||||
|
// 0:secretID, 1:Key, 2:Value****, 3:ValueClear, 4:dirtyBit
|
||||||
|
tsResults = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(bool));
|
||||||
|
tvResults.Model = tsResults;
|
||||||
|
|
||||||
|
// hook up event handles
|
||||||
|
bttnApply.Clicked += new EventHandler(bttnApply_Clicked);
|
||||||
|
bttnCancel.Clicked += new EventHandler(bttnCancel_Clicked);
|
||||||
|
bttnRevert.Clicked += new EventHandler(bttnRevert_Clicked);
|
||||||
|
bttnFind.Clicked += new EventHandler(bttnFind_Clicked);
|
||||||
|
bttnOk.Clicked += new EventHandler(bttnOk_Clicked);
|
||||||
|
bttnReplaceAll.Clicked += new EventHandler(bttnReplaceAll_Clicked);
|
||||||
|
bttnHelp.Clicked += new EventHandler(bttnHelp_Clicked);
|
||||||
|
|
||||||
|
cbShowValues.Toggled += new EventHandler(cbShowValues_Toggled);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void bttnHelp_Clicked(object sender, EventArgs e)
|
||||||
void cbShowValues_Toggled(object sender, EventArgs e)
|
{
|
||||||
{
|
Common.ShowHelpUrl("FindReplace.htm");
|
||||||
TreeViewColumn tvCol;
|
}
|
||||||
|
|
||||||
if ((true == cbShowValues.Active)
|
|
||||||
&& (CommonGUI.GetRememberMPUntil().CompareTo(DateTime.Now) > 0))
|
|
||||||
{
|
public void okbuttonLogin_clicked(object abj, EventArgs args)
|
||||||
// set and start the timer if needed
|
{
|
||||||
TimeSpan ts = CommonGUI.GetRememberMPUntil().Subtract(DateTime.Now);
|
TreeViewColumn tvCol;
|
||||||
m_iRememberSeconds = ts.Seconds;
|
|
||||||
//StartRememberTimer();
|
if (0 == miCASA.SetMasterPassword(0, entryMasterPassword3.Text))
|
||||||
|
{
|
||||||
// display the values
|
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
||||||
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
||||||
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
tvResults.InsertColumn(tvCol, 2);
|
||||||
tvResults.InsertColumn(tvCol, 2);
|
|
||||||
}
|
// get seconds to remember
|
||||||
else if (true == cbShowValues.Active)
|
//m_sRememberFor = spinbuttonRememberFor.Text;
|
||||||
{
|
|
||||||
// prompt user for MasterPassword
|
//if (m_sRememberFor != null)
|
||||||
if (CommonGUI.UseMasterPassword())
|
//{
|
||||||
{
|
// DateTime dtNow = DateTime.Now;
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
// m_iRememberSeconds = int.Parse(m_sRememberFor);
|
||||||
gxmlTemp.Autoconnect(this);
|
// CommonGUI.SetRememberMPUntil(dtNow.AddSeconds(m_iRememberSeconds));
|
||||||
dialogLogin.TransientFor = dialogFindAndReplace;
|
//}
|
||||||
|
|
||||||
label86.Text = "Enter your Master Password to view values";
|
// save off remember time if user changed it
|
||||||
entryMasterPassword3.Text = "";
|
//string sSaveTimed = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, "5");
|
||||||
entryMasterPassword3.HasFocus = true;
|
//if (!sSaveTimed.Equals(m_sRememberFor))
|
||||||
label88.Hide();
|
// {
|
||||||
entryMasterPassword4.Hide();
|
// m_config.SetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
||||||
|
// m_config.WriteConfig();
|
||||||
labelRememberFor.Visible = false;
|
//}
|
||||||
labelSeconds.Visible = false;
|
|
||||||
spinbuttonRememberFor.Visible = false;
|
dialogLogin.Destroy();
|
||||||
//spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
|
||||||
//dialogLogin.Show();
|
//if (m_iRememberSeconds > 0)
|
||||||
}
|
// StartRememberTimer();
|
||||||
else
|
}
|
||||||
{
|
else
|
||||||
// display the values
|
{
|
||||||
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
// warn user
|
||||||
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
CommonGUI.DisplayMessage(MessageType.Warning, "Master Password incorrect");
|
||||||
tvResults.InsertColumn(tvCol, 2);
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
else
|
public void on_entryMasterPassword3_activate(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
if ("" != entryMasterPassword3.Text)
|
||||||
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 2);
|
okbuttonLogin_clicked(obj, args);
|
||||||
tvResults.InsertColumn(tvCol, 2);
|
}
|
||||||
}
|
|
||||||
}
|
public void on_entryMasterPassword4_activate(object obj, EventArgs args)
|
||||||
|
{
|
||||||
public void closebuttonLogin_clicked(object abj, EventArgs args)
|
okbuttonLogin_clicked(obj, args);
|
||||||
{
|
}
|
||||||
cbShowValues.Active = false;
|
|
||||||
dialogLogin.Destroy();
|
|
||||||
}
|
public void on_helpbuttonAuthentication_clicked(object obj, EventArgs args)
|
||||||
|
{
|
||||||
|
Common.ShowHelpUrl("CASAMasterPasswordAuthentication.htm");
|
||||||
public void OnDialogLoginDeleted(object obj, DeleteEventArgs args)
|
}
|
||||||
{
|
|
||||||
cbShowValues.Active = false;
|
|
||||||
dialogLogin.Destroy();
|
void cbShowValues_Toggled(object sender, EventArgs e)
|
||||||
args.RetVal = true;
|
{
|
||||||
}
|
TreeViewColumn tvCol;
|
||||||
|
|
||||||
|
if ((true == cbShowValues.Active)
|
||||||
|
&& (CommonGUI.GetRememberMPUntil().CompareTo(DateTime.Now) > 0))
|
||||||
void bttnOk_Clicked(object sender, EventArgs e)
|
{
|
||||||
{
|
// set and start the timer if needed
|
||||||
if (bttnApply.Sensitive)
|
TimeSpan ts = CommonGUI.GetRememberMPUntil().Subtract(DateTime.Now);
|
||||||
{
|
m_iRememberSeconds = ts.Seconds;
|
||||||
bttnApply_Clicked(sender, e);
|
//StartRememberTimer();
|
||||||
}
|
|
||||||
CloseDialog();
|
// display the values
|
||||||
}
|
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
||||||
|
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
||||||
void bttnFind_Clicked(object sender, EventArgs e)
|
tvResults.InsertColumn(tvCol, 2);
|
||||||
{
|
}
|
||||||
if (entryFind.Text != null && entryFind.Text.Length > 0)
|
else if (true == cbShowValues.Active)
|
||||||
{
|
{
|
||||||
DoFind();
|
// prompt user for MasterPassword
|
||||||
}
|
if (CommonGUI.UseMasterPassword())
|
||||||
else
|
{
|
||||||
{
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
||||||
CommonGUI.DisplayMessage(MessageType.Error, "You must enter a value to find");
|
gxmlTemp.Autoconnect(this);
|
||||||
}
|
dialogLogin.TransientFor = dialogFindAndReplace;
|
||||||
}
|
|
||||||
|
label86.Text = "Enter your Master Password to view values";
|
||||||
void bttnRevert_Clicked(object sender, EventArgs e)
|
entryMasterPassword3.Text = "";
|
||||||
{
|
entryMasterPassword3.HasFocus = true;
|
||||||
// show cancel
|
label88.Hide();
|
||||||
bttnCancel.Visible = true;
|
entryMasterPassword4.Hide();
|
||||||
|
|
||||||
// hide revert
|
labelRememberFor.Visible = false;
|
||||||
bttnRevert.Visible = false;
|
labelSeconds.Visible = false;
|
||||||
|
spinbuttonRememberFor.Visible = false;
|
||||||
bttnApply.Sensitive = bttnOk.Sensitive = false;
|
//spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
||||||
|
//dialogLogin.Show();
|
||||||
// reload
|
}
|
||||||
DoFind();
|
else
|
||||||
}
|
{
|
||||||
|
// display the values
|
||||||
void bttnCancel_Clicked(object sender, EventArgs e)
|
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
||||||
{
|
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 3);
|
||||||
CloseDialog();
|
tvResults.InsertColumn(tvCol, 2);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
void bttnApply_Clicked(object sender, EventArgs e)
|
else
|
||||||
{
|
{
|
||||||
TreeIter iter;
|
tvResults.RemoveColumn(tvResults.GetColumn(2));
|
||||||
|
tvCol = new TreeViewColumn("Value", new CellRendererText(), "text", 2);
|
||||||
// iterate thru store, update all values with dirtybit=true
|
tvResults.InsertColumn(tvCol, 2);
|
||||||
if (tsResults.GetIterFirst(out iter))
|
}
|
||||||
{
|
}
|
||||||
do
|
|
||||||
{
|
public void closebuttonLogin_clicked(object abj, EventArgs args)
|
||||||
bool bDirty = (bool)tsResults.GetValue(iter, 4);
|
{
|
||||||
if (bDirty)
|
cbShowValues.Active = false;
|
||||||
{
|
dialogLogin.Destroy();
|
||||||
String sID = (string)tsResults.GetValue(iter, 0);
|
}
|
||||||
String sKey = (string)tsResults.GetValue(iter, 1);
|
|
||||||
String sValue = (string)tsResults.GetValue(iter, 3);
|
|
||||||
|
public void OnDialogLoginDeleted(object obj, DeleteEventArgs args)
|
||||||
if (StoreDataInterface.ModifyCASASecretKey(sID, sKey, sValue))
|
{
|
||||||
{
|
cbShowValues.Active = false;
|
||||||
Console.WriteLine("Updating {0} : {1} : {2}", sID, sKey, sValue);
|
dialogLogin.Destroy();
|
||||||
}
|
args.RetVal = true;
|
||||||
|
}
|
||||||
// Update CASAManager view
|
|
||||||
m_store.AggregateStore();
|
|
||||||
|
|
||||||
}
|
void bttnOk_Clicked(object sender, EventArgs e)
|
||||||
} while (tsResults.IterNext(ref iter));
|
{
|
||||||
|
if (bttnApply.Sensitive)
|
||||||
}
|
{
|
||||||
|
bttnApply_Clicked(sender, e);
|
||||||
|
}
|
||||||
// hide revert
|
CloseDialog();
|
||||||
bttnRevert.Visible = false;
|
}
|
||||||
bttnCancel.Visible = true;
|
|
||||||
|
void bttnFind_Clicked(object sender, EventArgs e)
|
||||||
bttnApply.Sensitive = false;
|
{
|
||||||
bttnOk.Sensitive = false;
|
if (entryFind.Text != null && entryFind.Text.Length > 0)
|
||||||
|
{
|
||||||
}
|
DoFind();
|
||||||
|
}
|
||||||
private void CloseDialog()
|
else
|
||||||
{
|
{
|
||||||
if (dialogFindAndReplace != null)
|
CommonGUI.DisplayMessage(MessageType.Error, "You must enter a value to find");
|
||||||
{
|
}
|
||||||
dialogFindAndReplace.Destroy();
|
}
|
||||||
}
|
|
||||||
}
|
void bttnRevert_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
private void DoFind()
|
// show cancel
|
||||||
{
|
bttnCancel.Visible = true;
|
||||||
|
|
||||||
string selected = null;
|
// hide revert
|
||||||
string[] keys = null,
|
bttnRevert.Visible = false;
|
||||||
values = null;
|
|
||||||
|
bttnApply.Sensitive = bttnOk.Sensitive = false;
|
||||||
// clear current vies
|
|
||||||
tsResults.Clear();
|
// reload
|
||||||
|
DoFind();
|
||||||
// iterate thru CASA TreeStore, finding matches
|
}
|
||||||
TreeIter iter;
|
|
||||||
|
void bttnCancel_Clicked(object sender, EventArgs e)
|
||||||
if (m_tsCASA.GetIterFirst(out iter))
|
{
|
||||||
{
|
CloseDialog();
|
||||||
do
|
}
|
||||||
{
|
|
||||||
selected = (string)m_tmCASA.GetValue(iter, 0);
|
void bttnApply_Clicked(object sender, EventArgs e)
|
||||||
keys = (string[])m_tmCASA.GetValue(iter, 1);
|
{
|
||||||
values = (string[])m_tmCASA.GetValue(iter, 2);
|
TreeIter iter;
|
||||||
|
|
||||||
// add matches to the results
|
// iterate thru store, update all values with dirtybit=true
|
||||||
for (int i = 0; i < keys.Length; i++)
|
if (tsResults.GetIterFirst(out iter))
|
||||||
{
|
{
|
||||||
if ((entryFind.Text.Equals("*")) ||
|
do
|
||||||
(values[i].IndexOf(entryFind.Text) > -1))
|
{
|
||||||
{
|
bool bDirty = (bool)tsResults.GetValue(iter, 4);
|
||||||
tsResults.AppendValues(selected, keys[i], "*******", values[i], false);
|
if (bDirty)
|
||||||
}
|
{
|
||||||
}
|
String sID = (string)tsResults.GetValue(iter, 0);
|
||||||
} while (m_tsCASA.IterNext(ref iter));
|
String sKey = (string)tsResults.GetValue(iter, 1);
|
||||||
|
String sValue = (string)tsResults.GetValue(iter, 3);
|
||||||
//tvResults.Selection.SelectAll();
|
|
||||||
}
|
if (StoreDataInterface.ModifyCASASecretKey(sID, sKey, sValue))
|
||||||
}
|
{
|
||||||
|
Console.WriteLine("Updating {0} : {1} : {2}", sID, sKey, sValue);
|
||||||
void bttnReplaceAll_Clicked(object sender, EventArgs e)
|
}
|
||||||
{
|
|
||||||
TreeModel model;
|
// Update CASAManager view
|
||||||
TreeIter iter;
|
m_store.AggregateStore();
|
||||||
TreePath[] treePaths = tvResults.Selection.GetSelectedRows(out model);
|
|
||||||
|
}
|
||||||
|
} while (tsResults.IterNext(ref iter));
|
||||||
if (entryNewValue.Text == null || entryNewValue.Text.Length == 0)
|
|
||||||
{
|
}
|
||||||
CommonGUI.DisplayMessage(MessageType.Warning, "Enter a new value");
|
|
||||||
return;
|
|
||||||
}
|
// hide revert
|
||||||
|
bttnRevert.Visible = false;
|
||||||
if (treePaths.Length == 0)
|
bttnCancel.Visible = true;
|
||||||
{
|
|
||||||
CommonGUI.DisplayMessage(MessageType.Warning, "You must select at least one row");
|
bttnApply.Sensitive = false;
|
||||||
return;
|
bttnOk.Sensitive = false;
|
||||||
}
|
|
||||||
|
}
|
||||||
if (entryNewValue.Text != null && entryNewValue.Text.Length > 0)
|
|
||||||
{
|
private void CloseDialog()
|
||||||
// iterate thru those to change
|
{
|
||||||
for (int i = 0; i < treePaths.Length; i++)
|
if (dialogFindAndReplace != null)
|
||||||
{
|
{
|
||||||
if (tsResults.GetIter(out iter, treePaths[i]))
|
dialogFindAndReplace.Destroy();
|
||||||
{
|
}
|
||||||
string sCurrentValue = (string)tsResults.GetValue(iter, 3);
|
}
|
||||||
|
|
||||||
// change if newValue is different
|
private void DoFind()
|
||||||
if (!sCurrentValue.Equals(entryNewValue.Text))
|
{
|
||||||
{
|
|
||||||
tsResults.SetValue(iter, 2, entryNewValue.Text);
|
string selected = null;
|
||||||
tsResults.SetValue(iter, 3, entryNewValue.Text);
|
string[] keys = null,
|
||||||
|
values = null;
|
||||||
// set the dirty bit
|
|
||||||
tsResults.SetValue(iter, 4, true);
|
// clear current vies
|
||||||
}
|
tsResults.Clear();
|
||||||
}
|
|
||||||
}
|
// iterate thru CASA TreeStore, finding matches
|
||||||
|
TreeIter iter;
|
||||||
bttnApply.Sensitive = bttnOk.Sensitive = true;
|
|
||||||
|
if (m_tsCASA.GetIterFirst(out iter))
|
||||||
bttnRevert.Visible = true;
|
{
|
||||||
bttnCancel.Visible = false;
|
do
|
||||||
}
|
{
|
||||||
}
|
selected = (string)m_tmCASA.GetValue(iter, 0);
|
||||||
|
keys = (string[])m_tmCASA.GetValue(iter, 1);
|
||||||
/*
|
values = (string[])m_tmCASA.GetValue(iter, 2);
|
||||||
private bool bTimerActive = false;
|
|
||||||
public void StartRememberTimer()
|
// add matches to the results
|
||||||
{
|
for (int i = 0; i < keys.Length; i++)
|
||||||
if (!bTimerActive)
|
{
|
||||||
{
|
if ((entryFind.Text.Equals("*")) ||
|
||||||
GLib.Timeout.Add((uint)(m_iRememberSeconds * 1000), new GLib.TimeoutHandler(update_gui));
|
(values[i].IndexOf(entryFind.Text) > -1))
|
||||||
bTimerActive = true;
|
{
|
||||||
}
|
tsResults.AppendValues(selected, keys[i], "*******", values[i], false);
|
||||||
}
|
}
|
||||||
* */
|
}
|
||||||
}
|
} while (m_tsCASA.IterNext(ref iter));
|
||||||
|
|
||||||
}
|
//tvResults.Selection.SelectAll();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void bttnReplaceAll_Clicked(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
TreeModel model;
|
||||||
|
TreeIter iter;
|
||||||
|
TreePath[] treePaths = tvResults.Selection.GetSelectedRows(out model);
|
||||||
|
|
||||||
|
|
||||||
|
if (entryNewValue.Text == null || entryNewValue.Text.Length == 0)
|
||||||
|
{
|
||||||
|
CommonGUI.DisplayMessage(MessageType.Warning, "Enter a new value");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (treePaths.Length == 0)
|
||||||
|
{
|
||||||
|
CommonGUI.DisplayMessage(MessageType.Warning, "You must select at least one row");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (entryNewValue.Text != null && entryNewValue.Text.Length > 0)
|
||||||
|
{
|
||||||
|
// iterate thru those to change
|
||||||
|
for (int i = 0; i < treePaths.Length; i++)
|
||||||
|
{
|
||||||
|
if (tsResults.GetIter(out iter, treePaths[i]))
|
||||||
|
{
|
||||||
|
string sCurrentValue = (string)tsResults.GetValue(iter, 3);
|
||||||
|
|
||||||
|
// change if newValue is different
|
||||||
|
if (!sCurrentValue.Equals(entryNewValue.Text))
|
||||||
|
{
|
||||||
|
tsResults.SetValue(iter, 2, entryNewValue.Text);
|
||||||
|
tsResults.SetValue(iter, 3, entryNewValue.Text);
|
||||||
|
|
||||||
|
// set the dirty bit
|
||||||
|
tsResults.SetValue(iter, 4, true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
bttnApply.Sensitive = bttnOk.Sensitive = true;
|
||||||
|
|
||||||
|
bttnRevert.Visible = true;
|
||||||
|
bttnCancel.Visible = false;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
private bool bTimerActive = false;
|
||||||
|
public void StartRememberTimer()
|
||||||
|
{
|
||||||
|
if (!bTimerActive)
|
||||||
|
{
|
||||||
|
GLib.Timeout.Add((uint)(m_iRememberSeconds * 1000), new GLib.TimeoutHandler(update_gui));
|
||||||
|
bTimerActive = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
* */
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -767,30 +767,30 @@ public class Firefox : Store
|
|||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
else if (true == cbuttonShowPassword.Active)
|
else if (true == cbuttonShowPassword.Active)
|
||||||
{
|
{
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
||||||
gxmlTemp.Autoconnect(this);
|
gxmlTemp.Autoconnect(this);
|
||||||
dialogLogin.TransientFor = dialogManageSecret;
|
dialogLogin.TransientFor = dialogManageSecret;
|
||||||
|
|
||||||
label86.Text = "Enter your Master Password to view passwords";
|
label86.Text = "Enter your Master Password to view passwords";
|
||||||
entryMasterPassword3.Text = "";
|
entryMasterPassword3.Text = "";
|
||||||
entryMasterPassword3.HasFocus = true;
|
entryMasterPassword3.HasFocus = true;
|
||||||
label88.Hide();
|
label88.Hide();
|
||||||
entryMasterPassword4.Hide();
|
entryMasterPassword4.Hide();
|
||||||
labelRememberFor.Visible = true;
|
labelRememberFor.Visible = true;
|
||||||
labelSeconds.Visible = true;
|
labelSeconds.Visible = true;
|
||||||
spinbuttonRememberFor.Visible = true;
|
spinbuttonRememberFor.Visible = true;
|
||||||
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
||||||
dialogLogin.Show();
|
dialogLogin.Show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// display the values
|
// display the values
|
||||||
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
||||||
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -1220,22 +1220,22 @@ public class Firefox : Store
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void OnCopyActivated(object obj, EventArgs args)
|
public void OnCopyActivated(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
TreeModel model;
|
TreeModel model;
|
||||||
TreeIter iter;
|
TreeIter iter;
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if( tvSecretIDFirefox.Selection.GetSelected (out model, out iter) )
|
if( tvSecretIDFirefox.Selection.GetSelected (out model, out iter) )
|
||||||
{
|
{
|
||||||
string selected = null;
|
string selected = null;
|
||||||
string[] saKeys, saValues;
|
string[] saKeys, saValues;
|
||||||
|
|
||||||
selected = (string) model.GetValue (iter, 0);
|
selected = (string) model.GetValue (iter, 0);
|
||||||
saKeys = (string[]) model.GetValue(iter, 1);
|
saKeys = (string[]) model.GetValue(iter, 1);
|
||||||
saValues = (string[]) model.GetValue(iter, 2);
|
saValues = (string[]) model.GetValue(iter, 2);
|
||||||
|
|
||||||
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
||||||
cs.Show();
|
cs.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch
|
catch
|
||||||
|
@ -499,31 +499,31 @@ public class GnomeKeyring : Store
|
|||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
else if (true == cbuttonShowPassword.Active)
|
else if (true == cbuttonShowPassword.Active)
|
||||||
{
|
{
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
|
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
||||||
gxmlTemp.Autoconnect(this);
|
gxmlTemp.Autoconnect(this);
|
||||||
dialogLogin.TransientFor = dialogManageSecret;
|
dialogLogin.TransientFor = dialogManageSecret;
|
||||||
|
|
||||||
label86.Text = "Enter your Master Password to view passwords";
|
label86.Text = "Enter your Master Password to view passwords";
|
||||||
entryMasterPassword3.Text = "";
|
entryMasterPassword3.Text = "";
|
||||||
entryMasterPassword3.HasFocus = true;
|
entryMasterPassword3.HasFocus = true;
|
||||||
label88.Hide();
|
label88.Hide();
|
||||||
entryMasterPassword4.Hide();
|
entryMasterPassword4.Hide();
|
||||||
labelRememberFor.Visible = true;
|
labelRememberFor.Visible = true;
|
||||||
labelSeconds.Visible = true;
|
labelSeconds.Visible = true;
|
||||||
spinbuttonRememberFor.Visible = true;
|
spinbuttonRememberFor.Visible = true;
|
||||||
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
||||||
dialogLogin.Show();
|
dialogLogin.Show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// display the values
|
// display the values
|
||||||
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
||||||
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -943,22 +943,22 @@ public class GnomeKeyring : Store
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void OnCopyActivated(object obj, EventArgs args)
|
public void OnCopyActivated(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
Logger.DbgLog("GUI:GnomeKeyring.OnCopyActivated() - BEGIN");
|
Logger.DbgLog("GUI:GnomeKeyring.OnCopyActivated() - BEGIN");
|
||||||
if( 0 != tvSecretIDGnomeKeyring.Selection.CountSelectedRows() )
|
if( 0 != tvSecretIDGnomeKeyring.Selection.CountSelectedRows() )
|
||||||
{
|
{
|
||||||
TreeModel model;
|
TreeModel model;
|
||||||
TreeIter iter;
|
TreeIter iter;
|
||||||
string selected = null;
|
string selected = null;
|
||||||
if( tvSecretIDGnomeKeyring.Selection.GetSelected (out model, out iter) )
|
if( tvSecretIDGnomeKeyring.Selection.GetSelected (out model, out iter) )
|
||||||
{
|
{
|
||||||
selected = (string) model.GetValue (iter, 0);
|
selected = (string) model.GetValue (iter, 0);
|
||||||
string[] saKeys = (string[]) model.GetValue(iter, 1);
|
string[] saKeys = (string[]) model.GetValue(iter, 1);
|
||||||
string[] saValues = (string[]) model.GetValue(iter, 2);
|
string[] saValues = (string[]) model.GetValue(iter, 2);
|
||||||
|
|
||||||
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
||||||
cs.Show();
|
cs.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Logger.DbgLog("GUI:GnomeKeyring.OnCopyActivated() - END");
|
Logger.DbgLog("GUI:GnomeKeyring.OnCopyActivated() - END");
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
using System;
|
using System;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Collections.Specialized;
|
using System.Collections.Specialized;
|
||||||
|
|
||||||
using Gtk;
|
using Gtk;
|
||||||
|
|
||||||
using Novell.CASA.MiCasa.Communication;
|
using Novell.CASA.MiCasa.Communication;
|
||||||
@ -17,34 +17,34 @@ namespace Novell.CASA.GUI
|
|||||||
Config m_config = null;
|
Config m_config = null;
|
||||||
public MiCasa m_objMiCasa = null;
|
public MiCasa m_objMiCasa = null;
|
||||||
string sFile = null;
|
string sFile = null;
|
||||||
byte[] buffer = null;
|
byte[] buffer = null;
|
||||||
TreeStore tsConflicts;
|
TreeStore tsConflicts;
|
||||||
|
|
||||||
SecretStore m_ss = null;
|
SecretStore m_ss = null;
|
||||||
StringCollection m_scConflicts;
|
StringCollection m_scConflicts;
|
||||||
|
|
||||||
#region GladeWidgets
|
#region GladeWidgets
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Entry entryMasterPassword;
|
Gtk.Entry entryMasterPassword;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Dialog dialogImport,
|
Gtk.Dialog dialogImport,
|
||||||
dialogLogin,
|
dialogLogin,
|
||||||
dialogResolveConflict;
|
dialogResolveConflict;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.TreeView tvConflicts;
|
Gtk.TreeView tvConflicts;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.Button bttnImport,
|
Gtk.Button bttnImport,
|
||||||
bttnIgnore;
|
bttnIgnore;
|
||||||
|
|
||||||
[Glade.Widget]
|
[Glade.Widget]
|
||||||
Gtk.CheckButton cbShowValues;
|
Gtk.CheckButton cbShowValues;
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
public ImportSecrets(SecretStore ss, Config config, MiCasa objMiCasa)
|
public ImportSecrets(SecretStore ss, Config config, MiCasa objMiCasa)
|
||||||
{
|
{
|
||||||
m_ss = ss;
|
m_ss = ss;
|
||||||
m_config = config;
|
m_config = config;
|
||||||
m_objMiCasa = objMiCasa;
|
m_objMiCasa = objMiCasa;
|
||||||
@ -97,18 +97,18 @@ namespace Novell.CASA.GUI
|
|||||||
ImportXMLSecrets addSecrets = new ImportXMLSecrets(null, null, sFile);
|
ImportXMLSecrets addSecrets = new ImportXMLSecrets(null, null, sFile);
|
||||||
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_ADD_XML_SECRETS, null, null, null, addSecrets);
|
MiCasaRequestReply.Send(MiCasaRequestReply.VERB_ADD_XML_SECRETS, null, null, null, addSecrets);
|
||||||
|
|
||||||
// check for conflicts
|
// check for conflicts
|
||||||
if (m_ss == null)
|
if (m_ss == null)
|
||||||
m_ss = SecretStore.GetInstance();
|
m_ss = SecretStore.GetInstance();
|
||||||
|
|
||||||
m_scConflicts = m_ss.EnumerateSecretIDs(SecretStore.SSCS_CONFLICT_KEYCHAIN);
|
m_scConflicts = m_ss.EnumerateSecretIDs(SecretStore.SSCS_CONFLICT_KEYCHAIN);
|
||||||
if (m_scConflicts.Count > 0)
|
if (m_scConflicts.Count > 0)
|
||||||
{
|
{
|
||||||
HandleConficts(m_ss, m_scConflicts);
|
HandleConficts(m_ss, m_scConflicts);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Import complete");
|
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Import complete");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -185,23 +185,23 @@ namespace Novell.CASA.GUI
|
|||||||
if (m_objMiCasa != null)
|
if (m_objMiCasa != null)
|
||||||
{
|
{
|
||||||
m_objMiCasa.AggregateStore();
|
m_objMiCasa.AggregateStore();
|
||||||
}
|
}
|
||||||
|
|
||||||
// check for conflicts
|
// check for conflicts
|
||||||
if (m_ss == null)
|
if (m_ss == null)
|
||||||
m_ss = SecretStore.GetInstance();
|
m_ss = SecretStore.GetInstance();
|
||||||
|
|
||||||
m_scConflicts = m_ss.EnumerateSecretIDs(SecretStore.SSCS_CONFLICT_KEYCHAIN);
|
m_scConflicts = m_ss.EnumerateSecretIDs(SecretStore.SSCS_CONFLICT_KEYCHAIN);
|
||||||
if (m_scConflicts.Count > 0)
|
if (m_scConflicts.Count > 0)
|
||||||
{
|
{
|
||||||
HandleConficts(m_ss, m_scConflicts);
|
HandleConficts(m_ss, m_scConflicts);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (addSecrets.GetStatus().Equals("Success"))
|
if (addSecrets.GetStatus().Equals("Success"))
|
||||||
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Import complete");
|
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Import complete");
|
||||||
else
|
else
|
||||||
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Failed: " + addSecrets.GetStatus());
|
CommonGUI.DisplayMessage(Gtk.MessageType.Info, "Failed: " + addSecrets.GetStatus());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -212,220 +212,220 @@ namespace Novell.CASA.GUI
|
|||||||
{
|
{
|
||||||
dialogImport.Destroy();
|
dialogImport.Destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void HandleConficts(SecretStore store, StringCollection scConflicts)
|
private void HandleConficts(SecretStore store, StringCollection scConflicts)
|
||||||
{
|
{
|
||||||
|
|
||||||
bool bShowConflictDialog = false;
|
bool bShowConflictDialog = false;
|
||||||
|
|
||||||
// 0:secretID, 1:keyID, 2:importValue, 3:currentValue
|
// 0:secretID, 1:keyID, 2:importValue, 3:currentValue
|
||||||
tsConflicts = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
|
tsConflicts = new TreeStore(typeof(string), typeof(string), typeof(string), typeof(string), typeof(string));
|
||||||
|
|
||||||
StringEnumerator sEnum = scConflicts.GetEnumerator();
|
StringEnumerator sEnum = scConflicts.GetEnumerator();
|
||||||
{
|
{
|
||||||
while (sEnum.MoveNext())
|
while (sEnum.MoveNext())
|
||||||
{
|
{
|
||||||
string sSecretID = sEnum.Current;
|
string sSecretID = sEnum.Current;
|
||||||
Secret currentSecret = store.GetSecret(sSecretID);
|
Secret currentSecret = store.GetSecret(sSecretID);
|
||||||
|
|
||||||
string sConflictSecretID;
|
string sConflictSecretID;
|
||||||
if (sSecretID.StartsWith("SS_CredSet"))
|
if (sSecretID.StartsWith("SS_CredSet"))
|
||||||
{
|
{
|
||||||
sConflictSecretID = sSecretID.Substring(11);
|
sConflictSecretID = sSecretID.Substring(11);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
sConflictSecretID = sSecretID;
|
sConflictSecretID = sSecretID;
|
||||||
}
|
}
|
||||||
Secret conflictSecret = store.GetSecret(SecretStore.SSCS_CONFLICT_KEYCHAIN, 0, sConflictSecretID, Secret.SS_CREDSET, "");
|
Secret conflictSecret = store.GetSecret(SecretStore.SSCS_CONFLICT_KEYCHAIN, 0, sConflictSecretID, Secret.SS_CREDSET, "");
|
||||||
|
|
||||||
// add this conflict to the treestore
|
// add this conflict to the treestore
|
||||||
NameValueCollection nvcConflict = conflictSecret.GetKeyValueCollection();
|
NameValueCollection nvcConflict = conflictSecret.GetKeyValueCollection();
|
||||||
NameValueCollection nvcCurrent = currentSecret.GetKeyValueCollection();
|
NameValueCollection nvcCurrent = currentSecret.GetKeyValueCollection();
|
||||||
for (int i = 0; i < nvcConflict.Count; i++)
|
for (int i = 0; i < nvcConflict.Count; i++)
|
||||||
{
|
{
|
||||||
String sConflictKey = nvcConflict.GetKey(i);
|
String sConflictKey = nvcConflict.GetKey(i);
|
||||||
String sConflictValue = nvcConflict.Get(sConflictKey);
|
String sConflictValue = nvcConflict.Get(sConflictKey);
|
||||||
String sCurrentValue = nvcCurrent.Get(sConflictKey);
|
String sCurrentValue = nvcCurrent.Get(sConflictKey);
|
||||||
|
|
||||||
if (sCurrentValue != null)
|
if (sCurrentValue != null)
|
||||||
{
|
{
|
||||||
if (sCurrentValue != sConflictValue)
|
if (sCurrentValue != sConflictValue)
|
||||||
{
|
{
|
||||||
tsConflicts.AppendValues(sSecretID, sConflictKey, sConflictValue, sCurrentValue, "*********");
|
tsConflicts.AppendValues(sSecretID, sConflictKey, sConflictValue, sCurrentValue, "*********");
|
||||||
bShowConflictDialog = true;
|
bShowConflictDialog = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tsConflicts.AppendValues(sSecretID, sConflictKey, sConflictValue, "", "*********");
|
tsConflicts.AppendValues(sSecretID, sConflictKey, sConflictValue, "", "*********");
|
||||||
bShowConflictDialog = true;
|
bShowConflictDialog = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (bShowConflictDialog == true)
|
if (bShowConflictDialog == true)
|
||||||
{
|
{
|
||||||
// show dialog
|
// show dialog
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogResolveConflict", null);
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogResolveConflict", null);
|
||||||
gxmlTemp.Autoconnect(this);
|
gxmlTemp.Autoconnect(this);
|
||||||
|
|
||||||
dialogResolveConflict.SetPosition(WindowPosition.CenterOnParent);
|
dialogResolveConflict.SetPosition(WindowPosition.CenterOnParent);
|
||||||
|
|
||||||
tvConflicts.AppendColumn("SecretID", new Gtk.CellRendererText(), "text", 0);
|
tvConflicts.AppendColumn("SecretID", new Gtk.CellRendererText(), "text", 0);
|
||||||
tvConflicts.AppendColumn("Key", new Gtk.CellRendererText(), "text", 1);
|
tvConflicts.AppendColumn("Key", new Gtk.CellRendererText(), "text", 1);
|
||||||
if (cbShowValues.Active)
|
if (cbShowValues.Active)
|
||||||
{
|
{
|
||||||
tvConflicts.AppendColumn("Import value", new Gtk.CellRendererText(), "text", 2);
|
tvConflicts.AppendColumn("Import value", new Gtk.CellRendererText(), "text", 2);
|
||||||
tvConflicts.AppendColumn("Current value", new Gtk.CellRendererText(), "text", 3);
|
tvConflicts.AppendColumn("Current value", new Gtk.CellRendererText(), "text", 3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tvConflicts.AppendColumn("Import value", new Gtk.CellRendererText(), "text", 4);
|
tvConflicts.AppendColumn("Import value", new Gtk.CellRendererText(), "text", 4);
|
||||||
tvConflicts.AppendColumn("Current value", new Gtk.CellRendererText(), "text", 4);
|
tvConflicts.AppendColumn("Current value", new Gtk.CellRendererText(), "text", 4);
|
||||||
}
|
}
|
||||||
|
|
||||||
tvConflicts.Selection.Mode = SelectionMode.Multiple;
|
tvConflicts.Selection.Mode = SelectionMode.Multiple;
|
||||||
|
|
||||||
// hook up event handlers
|
// hook up event handlers
|
||||||
bttnImport.Clicked += new EventHandler(bttnImport_Clicked);
|
bttnImport.Clicked += new EventHandler(bttnImport_Clicked);
|
||||||
bttnIgnore.Clicked += new EventHandler(bttnIgnore_Clicked);
|
bttnIgnore.Clicked += new EventHandler(bttnIgnore_Clicked);
|
||||||
cbShowValues.Toggled += new EventHandler(cbShowValues_Toggled);
|
cbShowValues.Toggled += new EventHandler(cbShowValues_Toggled);
|
||||||
|
|
||||||
tvConflicts.Model = tsConflicts;
|
tvConflicts.Model = tsConflicts;
|
||||||
dialogResolveConflict.Show();
|
dialogResolveConflict.Show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
ClearConflicts();
|
ClearConflicts();
|
||||||
CommonGUI.DisplayMessage(MessageType.Info, "Import complete");
|
CommonGUI.DisplayMessage(MessageType.Info, "Import complete");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void cbShowValues_Toggled(object sender, EventArgs e)
|
void cbShowValues_Toggled(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
TreeViewColumn tvCol;
|
TreeViewColumn tvCol;
|
||||||
|
|
||||||
if (cbShowValues.Active)
|
if (cbShowValues.Active)
|
||||||
{
|
{
|
||||||
// verify MasterPassword
|
// verify MasterPassword
|
||||||
CommonGUI cg = new CommonGUI();
|
CommonGUI cg = new CommonGUI();
|
||||||
if (cg.VerifyMasterPasswordWithUser())
|
if (cg.VerifyMasterPasswordWithUser())
|
||||||
{
|
{
|
||||||
tvConflicts.RemoveColumn(tvConflicts.GetColumn(3));
|
tvConflicts.RemoveColumn(tvConflicts.GetColumn(3));
|
||||||
tvConflicts.RemoveColumn(tvConflicts.GetColumn(2));
|
tvConflicts.RemoveColumn(tvConflicts.GetColumn(2));
|
||||||
|
|
||||||
// add columns
|
// add columns
|
||||||
tvCol = new TreeViewColumn("Import value", new CellRendererText(), "text", 2);
|
tvCol = new TreeViewColumn("Import value", new CellRendererText(), "text", 2);
|
||||||
tvConflicts.InsertColumn(tvCol, 2);
|
tvConflicts.InsertColumn(tvCol, 2);
|
||||||
|
|
||||||
tvCol = new TreeViewColumn("Current value", new CellRendererText(), "text", 3);
|
tvCol = new TreeViewColumn("Current value", new CellRendererText(), "text", 3);
|
||||||
tvConflicts.InsertColumn(tvCol, 3);
|
tvConflicts.InsertColumn(tvCol, 3);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
cbShowValues.Active = false;
|
cbShowValues.Active = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
tvConflicts.RemoveColumn(tvConflicts.GetColumn(3));
|
tvConflicts.RemoveColumn(tvConflicts.GetColumn(3));
|
||||||
tvConflicts.RemoveColumn(tvConflicts.GetColumn(2));
|
tvConflicts.RemoveColumn(tvConflicts.GetColumn(2));
|
||||||
|
|
||||||
// add columns
|
// add columns
|
||||||
tvCol = new TreeViewColumn("Import value", new CellRendererText(), "text", 4);
|
tvCol = new TreeViewColumn("Import value", new CellRendererText(), "text", 4);
|
||||||
tvConflicts.InsertColumn(tvCol, 2);
|
tvConflicts.InsertColumn(tvCol, 2);
|
||||||
|
|
||||||
tvCol = new TreeViewColumn("Current value", new CellRendererText(), "text", 4);
|
tvCol = new TreeViewColumn("Current value", new CellRendererText(), "text", 4);
|
||||||
tvConflicts.InsertColumn(tvCol, 3);
|
tvConflicts.InsertColumn(tvCol, 3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void bttnIgnore_Clicked(object sender, EventArgs e)
|
void bttnIgnore_Clicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
ClearConflicts();
|
ClearConflicts();
|
||||||
dialogResolveConflict.Destroy();
|
dialogResolveConflict.Destroy();
|
||||||
}
|
}
|
||||||
|
|
||||||
void bttnImport_Clicked(object sender, EventArgs e)
|
void bttnImport_Clicked(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
DoImport();
|
DoImport();
|
||||||
}
|
}
|
||||||
|
|
||||||
void DoImport()
|
void DoImport()
|
||||||
{
|
{
|
||||||
// get selected rows
|
// get selected rows
|
||||||
TreeModel model;
|
TreeModel model;
|
||||||
TreeIter iter;
|
TreeIter iter;
|
||||||
TreePath[] treePaths = tvConflicts.Selection.GetSelectedRows(out model);
|
TreePath[] treePaths = tvConflicts.Selection.GetSelectedRows(out model);
|
||||||
|
|
||||||
|
|
||||||
if (treePaths.Length > 0)
|
if (treePaths.Length > 0)
|
||||||
{
|
{
|
||||||
// iterate thru those to change
|
// iterate thru those to change
|
||||||
for (int i = 0; i < treePaths.Length; i++)
|
for (int i = 0; i < treePaths.Length; i++)
|
||||||
{
|
{
|
||||||
if (tsConflicts.GetIter(out iter, treePaths[i]))
|
if (tsConflicts.GetIter(out iter, treePaths[i]))
|
||||||
{
|
{
|
||||||
string sSecretID = (string)tsConflicts.GetValue(iter, 0);
|
string sSecretID = (string)tsConflicts.GetValue(iter, 0);
|
||||||
string sKey = (string)tsConflicts.GetValue(iter, 1);
|
string sKey = (string)tsConflicts.GetValue(iter, 1);
|
||||||
string sNewValue = (string)tsConflicts.GetValue(iter, 2);
|
string sNewValue = (string)tsConflicts.GetValue(iter, 2);
|
||||||
string sCurValue = (string)tsConflicts.GetValue(iter, 3);
|
string sCurValue = (string)tsConflicts.GetValue(iter, 3);
|
||||||
|
|
||||||
if ((sCurValue == null) || (sCurValue.Length == 0))
|
if ((sCurValue == null) || (sCurValue.Length == 0))
|
||||||
{
|
{
|
||||||
StoreDataInterface.AddCASASecretKey(sSecretID, sKey, sNewValue);
|
StoreDataInterface.AddCASASecretKey(sSecretID, sKey, sNewValue);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
StoreDataInterface.ModifyCASASecretKey(sSecretID, sKey, sNewValue);
|
StoreDataInterface.ModifyCASASecretKey(sSecretID, sKey, sNewValue);
|
||||||
}
|
}
|
||||||
|
|
||||||
tsConflicts.SetValue(iter, 3, sNewValue);
|
tsConflicts.SetValue(iter, 3, sNewValue);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (int i = 0; i < treePaths.Length; i++)
|
for (int i = 0; i < treePaths.Length; i++)
|
||||||
{
|
{
|
||||||
if (tsConflicts.GetIter(out iter, treePaths[i]))
|
if (tsConflicts.GetIter(out iter, treePaths[i]))
|
||||||
{
|
{
|
||||||
tsConflicts.Remove(ref iter);
|
tsConflicts.Remove(ref iter);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// refresh the store
|
// refresh the store
|
||||||
//ClearConflicts();
|
//ClearConflicts();
|
||||||
m_objMiCasa.AggregateStore();
|
m_objMiCasa.AggregateStore();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
CommonGUI.DisplayMessage(MessageType.Error, "Select the values you want to import");
|
CommonGUI.DisplayMessage(MessageType.Error, "Select the values you want to import");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void ClearConflicts()
|
private void ClearConflicts()
|
||||||
{
|
{
|
||||||
// enumerate thru conflicts, clearing each one
|
// enumerate thru conflicts, clearing each one
|
||||||
if (m_ss != null)
|
if (m_ss != null)
|
||||||
{
|
{
|
||||||
if (m_scConflicts != null)
|
if (m_scConflicts != null)
|
||||||
{
|
{
|
||||||
StringEnumerator sEnum = m_scConflicts.GetEnumerator();
|
StringEnumerator sEnum = m_scConflicts.GetEnumerator();
|
||||||
while (sEnum.MoveNext())
|
while (sEnum.MoveNext())
|
||||||
{
|
{
|
||||||
string sSecretID = (string)sEnum.Current;
|
string sSecretID = (string)sEnum.Current;
|
||||||
if (sSecretID.StartsWith("SS_CredSet"))
|
if (sSecretID.StartsWith("SS_CredSet"))
|
||||||
{
|
{
|
||||||
sSecretID = sSecretID.Substring(11);
|
sSecretID = sSecretID.Substring(11);
|
||||||
}
|
}
|
||||||
m_ss.RemoveSecret(0, SecretStore.SSCS_CONFLICT_KEYCHAIN, null, sSecretID, Secret.SS_CREDSET);
|
m_ss.RemoveSecret(0, SecretStore.SSCS_CONFLICT_KEYCHAIN, null, sSecretID, Secret.SS_CREDSET);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
tsConflicts.Clear();
|
tsConflicts.Clear();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -499,30 +499,30 @@ public class KdeWallet : Store
|
|||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
else if (true == cbuttonShowPassword.Active)
|
else if (true == cbuttonShowPassword.Active)
|
||||||
{
|
{
|
||||||
if (CommonGUI.UseMasterPassword())
|
if (CommonGUI.UseMasterPassword())
|
||||||
{
|
{
|
||||||
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
Glade.XML gxmlTemp = new Glade.XML(Common.GladeFile, "dialogLogin", null);
|
||||||
gxmlTemp.Autoconnect(this);
|
gxmlTemp.Autoconnect(this);
|
||||||
dialogLogin.TransientFor = dialogManageSecret;
|
dialogLogin.TransientFor = dialogManageSecret;
|
||||||
|
|
||||||
label86.Text = "Enter your Master Password to view passwords";
|
label86.Text = "Enter your Master Password to view passwords";
|
||||||
entryMasterPassword3.Text = "";
|
entryMasterPassword3.Text = "";
|
||||||
entryMasterPassword3.HasFocus = true;
|
entryMasterPassword3.HasFocus = true;
|
||||||
label88.Hide();
|
label88.Hide();
|
||||||
entryMasterPassword4.Hide();
|
entryMasterPassword4.Hide();
|
||||||
labelRememberFor.Visible = true;
|
labelRememberFor.Visible = true;
|
||||||
labelSeconds.Visible = true;
|
labelSeconds.Visible = true;
|
||||||
spinbuttonRememberFor.Visible = true;
|
spinbuttonRememberFor.Visible = true;
|
||||||
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
spinbuttonRememberFor.Text = m_config.GetConfigSetting(CommonGUI.REMEMBER_SETTING, m_sRememberFor);
|
||||||
dialogLogin.Show();
|
dialogLogin.Show();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// display the values
|
// display the values
|
||||||
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
tvKeyValue.RemoveColumn(tvKeyValue.GetColumn(1));
|
||||||
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
tvCol = new TreeViewColumn("Value", cellEditable, "text", 1);
|
||||||
tvKeyValue.InsertColumn(tvCol, 1);
|
tvKeyValue.InsertColumn(tvCol, 1);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -939,22 +939,22 @@ public class KdeWallet : Store
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public void OnCopyActivated(object obj, EventArgs args)
|
public void OnCopyActivated(object obj, EventArgs args)
|
||||||
{
|
{
|
||||||
Logger.DbgLog("GUI:KdeWallet.OnCopyActivated() - BEGIN");
|
Logger.DbgLog("GUI:KdeWallet.OnCopyActivated() - BEGIN");
|
||||||
if( 0 != tvSecretIDKdeWallet.Selection.CountSelectedRows() )
|
if( 0 != tvSecretIDKdeWallet.Selection.CountSelectedRows() )
|
||||||
{
|
{
|
||||||
TreeModel model;
|
TreeModel model;
|
||||||
TreeIter iter;
|
TreeIter iter;
|
||||||
string selected = null;
|
string selected = null;
|
||||||
if( tvSecretIDKdeWallet.Selection.GetSelected (out model, out iter) )
|
if( tvSecretIDKdeWallet.Selection.GetSelected (out model, out iter) )
|
||||||
{
|
{
|
||||||
selected = (string) model.GetValue (iter, 0);
|
selected = (string) model.GetValue (iter, 0);
|
||||||
string[] saKeys = (string[]) model.GetValue(iter, 1);
|
string[] saKeys = (string[]) model.GetValue(iter, 1);
|
||||||
string[] saValues = (string[]) model.GetValue(iter, 2);
|
string[] saValues = (string[]) model.GetValue(iter, 2);
|
||||||
|
|
||||||
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
CopySecret cs = new CopySecret(selected, saKeys, saValues);
|
||||||
cs.Show();
|
cs.Show();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
Logger.DbgLog("GUI:KdeWallet.OnCopyActivated() - END");
|
Logger.DbgLog("GUI:KdeWallet.OnCopyActivated() - END");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user