Rob Shearman : schannel: Add new schannel dll that mostly forwards to secur32.

Alexandre Julliard julliard at wine.codeweavers.com
Thu Mar 1 16:27:06 CST 2007


Module: wine
Branch: master
Commit: 361c6f207c237920546a0341b33c2a4464be4c14
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=361c6f207c237920546a0341b33c2a4464be4c14

Author: Rob Shearman <rob at codeweavers.com>
Date:   Thu Mar  1 12:17:59 2007 +0000

schannel: Add new schannel dll that mostly forwards to secur32.

---

 Makefile.in                   |    2 ++
 configure                     |    3 +++
 configure.ac                  |    1 +
 dlls/Makefile.in              |    1 +
 dlls/schannel/Makefile.in     |   13 +++++++++++++
 dlls/schannel/schannel.spec   |   37 +++++++++++++++++++++++++++++++++++++
 dlls/schannel/schannel_main.c |   40 ++++++++++++++++++++++++++++++++++++++++
 7 files changed, 97 insertions(+), 0 deletions(-)

diff --git a/Makefile.in b/Makefile.in
index bc1d654..d4e743a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -336,6 +336,7 @@ ALL_MAKEFILES = \
 	dlls/rsaenh/Makefile \
 	dlls/rsaenh/tests/Makefile \
 	dlls/sane.ds/Makefile \
+	dlls/schannel/Makefile \
 	dlls/secur32/Makefile \
 	dlls/secur32/tests/Makefile \
 	dlls/security/Makefile \
@@ -670,6 +671,7 @@ dlls/rsabase/tests/Makefile: dlls/rsabase/tests/Makefile.in dlls/Maketest.rules
 dlls/rsaenh/Makefile: dlls/rsaenh/Makefile.in dlls/Makedll.rules
 dlls/rsaenh/tests/Makefile: dlls/rsaenh/tests/Makefile.in dlls/Maketest.rules
 dlls/sane.ds/Makefile: dlls/sane.ds/Makefile.in dlls/Makedll.rules
+dlls/schannel/Makefile: dlls/schannel/Makefile.in dlls/Makedll.rules
 dlls/secur32/Makefile: dlls/secur32/Makefile.in dlls/Makedll.rules
 dlls/secur32/tests/Makefile: dlls/secur32/tests/Makefile.in dlls/Maketest.rules
 dlls/security/Makefile: dlls/security/Makefile.in dlls/Makedll.rules
diff --git a/configure b/configure
index c7023cf..18faa4e 100755
--- a/configure
+++ b/configure
@@ -20803,6 +20803,8 @@ ac_config_files="$ac_config_files dlls/rsaenh/tests/Makefile"
 
 ac_config_files="$ac_config_files dlls/sane.ds/Makefile"
 
+ac_config_files="$ac_config_files dlls/schannel/Makefile"
+
 ac_config_files="$ac_config_files dlls/secur32/Makefile"
 
 ac_config_files="$ac_config_files dlls/secur32/tests/Makefile"
@@ -21831,6 +21833,7 @@ do
     "dlls/rsaenh/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/rsaenh/Makefile" ;;
     "dlls/rsaenh/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/rsaenh/tests/Makefile" ;;
     "dlls/sane.ds/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/sane.ds/Makefile" ;;
+    "dlls/schannel/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/schannel/Makefile" ;;
     "dlls/secur32/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/secur32/Makefile" ;;
     "dlls/secur32/tests/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/secur32/tests/Makefile" ;;
     "dlls/security/Makefile") CONFIG_FILES="$CONFIG_FILES dlls/security/Makefile" ;;
diff --git a/configure.ac b/configure.ac
index 7c27c34..59257fd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1706,6 +1706,7 @@ AC_CONFIG_FILES([dlls/rsabase/tests/Makefile])
 AC_CONFIG_FILES([dlls/rsaenh/Makefile])
 AC_CONFIG_FILES([dlls/rsaenh/tests/Makefile])
 AC_CONFIG_FILES([dlls/sane.ds/Makefile])
+AC_CONFIG_FILES([dlls/schannel/Makefile])
 AC_CONFIG_FILES([dlls/secur32/Makefile])
 AC_CONFIG_FILES([dlls/secur32/tests/Makefile])
 AC_CONFIG_FILES([dlls/security/Makefile])
diff --git a/dlls/Makefile.in b/dlls/Makefile.in
index 95c98d3..4c47aae 100644
--- a/dlls/Makefile.in
+++ b/dlls/Makefile.in
@@ -149,6 +149,7 @@ BASEDIRS = \
 	rsabase \
 	rsaenh \
 	sane.ds \
+	schannel \
 	secur32 \
 	security \
 	sensapi \
diff --git a/dlls/schannel/Makefile.in b/dlls/schannel/Makefile.in
new file mode 100644
index 0000000..bc67151
--- /dev/null
+++ b/dlls/schannel/Makefile.in
@@ -0,0 +1,13 @@
+TOPSRCDIR = @top_srcdir@
+TOPOBJDIR = ../..
+SRCDIR    = @srcdir@
+VPATH     = @srcdir@
+MODULE    = schannel.dll
+IMPORTS   = secur32 kernel32
+
+C_SRCS = \
+	schannel_main.c
+
+ at MAKE_DLL_RULES@
+
+ at DEPENDENCIES@  # everything below this line is overwritten by make depend
diff --git a/dlls/schannel/schannel.spec b/dlls/schannel/schannel.spec
new file mode 100644
index 0000000..7dd12fa
--- /dev/null
+++ b/dlls/schannel/schannel.spec
@@ -0,0 +1,37 @@
+@ stdcall AcceptSecurityContext(ptr ptr ptr long long ptr ptr ptr ptr) secur32.AcceptSecurityContext
+@ stdcall AcquireCredentialsHandleA(str str long ptr ptr ptr ptr ptr ptr) secur32.AcquireCredentialsHandleA
+@ stdcall AcquireCredentialsHandleW(wstr wstr long ptr ptr ptr ptr ptr ptr) secur32.AcquireCredentialsHandleW
+@ stdcall ApplyControlToken(ptr ptr) secur32.ApplyControlToken
+@ stub CloseSslPerformanceData
+@ stub CollectSslPerformanceData
+@ stdcall CompleteAuthToken(ptr ptr) secur32.CompleteAuthToken
+@ stdcall DeleteSecurityContext(ptr) secur32.DeleteSecurityContext
+@ stdcall EnumerateSecurityPackagesA(ptr ptr) secur32.EnumerateSecurityPackagesA
+@ stdcall EnumerateSecurityPackagesW(ptr ptr) secur32.EnumerateSecurityPackagesW
+@ stdcall FreeContextBuffer(ptr) secur32.FreeContextBuffer
+@ stdcall FreeCredentialsHandle(ptr) secur32.FreeCredentialsHandle
+@ stdcall ImpersonateSecurityContext(ptr) secur32.ImpersonateSecurityContext
+@ stdcall InitSecurityInterfaceA() secur32.InitSecurityInterfaceA
+@ stdcall InitSecurityInterfaceW() secur32.InitSecurityInterfaceW
+@ stdcall InitializeSecurityContextA(ptr ptr str long long long ptr long ptr ptr ptr ptr) secur32.InitializeSecurityContextA
+@ stdcall InitializeSecurityContextW(ptr ptr wstr long long long ptr long ptr ptr ptr ptr) secur32.InitializeSecurityContextW
+@ stdcall MakeSignature(ptr long ptr long) secur32.MakeSignature
+@ stub OpenSslPerformanceData
+@ stdcall QueryContextAttributesA(ptr long ptr) secur32.QueryContextAttributesA
+@ stdcall QueryContextAttributesW(ptr long ptr) secur32.QueryContextAttributesW
+@ stdcall QuerySecurityPackageInfoA(str ptr) secur32.QuerySecurityPackageInfoA
+@ stdcall QuerySecurityPackageInfoW(wstr ptr) secur32.QuerySecurityPackageInfoW
+@ stdcall RevertSecurityContext(ptr) secur32.RevertSecurityContext
+@ stdcall SealMessage(ptr long ptr long) secur32.SealMessage
+@ stub SpLsaModeInitialize
+@ stub SpUserModeInitialize
+@ stub SslCrackCertificate
+@ stub SslEmptyCacheA
+@ stub SslEmptyCacheW
+@ stub SslFreeCertificate
+@ stub SslGenerateKeyPair
+@ stub SslGenerateRandomBits
+@ stub SslGetMaximumKeySize
+@ stub SslLoadCertificate
+@ stdcall UnsealMessage(ptr ptr long ptr) secur32.UnsealMessage
+@ stdcall VerifySignature(ptr ptr long ptr) secur32.VerifySignature
diff --git a/dlls/schannel/schannel_main.c b/dlls/schannel/schannel_main.c
new file mode 100644
index 0000000..9889c5d
--- /dev/null
+++ b/dlls/schannel/schannel_main.c
@@ -0,0 +1,40 @@
+/*
+ * SSL/TLS Security Library
+ *
+ * Copyright 2007 Rob Shearman, for CodeWeavers
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
+ */
+
+#include <stdarg.h>
+
+#include "windef.h"
+#include "winbase.h"
+
+#include "wine/debug.h"
+
+WINE_DEFAULT_DEBUG_CHANNEL(schannel);
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+	TRACE("(0x%p, %d, %p)\n",hinstDLL,fdwReason,lpvReserved);
+
+	if (fdwReason == DLL_WINE_PREATTACH) return FALSE;	/* prefer native version */
+
+	if (fdwReason == DLL_PROCESS_ATTACH)
+		DisableThreadLibraryCalls(hinstDLL);
+
+	return TRUE;
+}




More information about the wine-cvs mailing list