From 5056234c898e593ba71a01659dbbcd70ca519d89 Mon Sep 17 00:00:00 2001
From: George Hazan <george.hazan@gmail.com>
Date: Thu, 14 Nov 2013 22:14:20 +0000
Subject: MS_CRYPTO_GET_PROVIDER - service for looking up crypto providers

git-svn-id: http://svn.miranda-ng.org/main/trunk@6909 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
---
 src/modules/crypt/encrypt.cpp | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'src/modules')

diff --git a/src/modules/crypt/encrypt.cpp b/src/modules/crypt/encrypt.cpp
index 4cb096e3ec..3e5da905ee 100644
--- a/src/modules/crypt/encrypt.cpp
+++ b/src/modules/crypt/encrypt.cpp
@@ -83,6 +83,16 @@ static INT_PTR srvEnumProviders(WPARAM wParam, LPARAM lParam)
 	return 0;
 }
 
+static INT_PTR srvGetProvider(WPARAM wParam, LPARAM lParam)
+{
+	if (lParam == 0)
+		return 0;
+
+	CRYPTO_PROVIDER tmp;
+	tmp.pszName = (LPSTR)lParam;
+	return (INT_PTR)arProviders.find(&tmp);
+}	
+
 /////////////////////////////////////////////////////////////////////////////////////////
 
 int InitCrypt(void)
@@ -92,6 +102,7 @@ int InitCrypt(void)
 
 	CreateServiceFunction(MS_CRYPTO_REGISTER_ENGINE, srvRegister);
 	CreateServiceFunction(MS_CRYPTO_ENUM_PROVIDERS,  srvEnumProviders);
+	CreateServiceFunction(MS_CRYPTO_GET_PROVIDER,    srvGetProvider);
 	return 0;
 }
 
-- 
cgit v1.2.3