From 33be9e29be3d7903a61d27d8b2d45b92879e0b51 Mon Sep 17 00:00:00 2001
From: Steve Holme <steve_holme@hotmail.com>
Date: Sun, 23 Nov 2014 15:58:24 +0000
Subject: [PATCH] ntlm: Moved NSS initialisation to base decode function

---
 lib/curl_ntlm_msgs.c | 11 ++++++++++-
 lib/curl_sasl.c      | 13 -------------
 2 files changed, 10 insertions(+), 14 deletions(-)

diff --git a/lib/curl_ntlm_msgs.c b/lib/curl_ntlm_msgs.c
index d0672af36..263231930 100644
--- a/lib/curl_ntlm_msgs.c
+++ b/lib/curl_ntlm_msgs.c
@@ -45,6 +45,10 @@
 
 #include "vtls/vtls.h"
 
+#ifdef USE_NSS
+#include "vtls/nssg.h" /* for Curl_nss_force_init() */
+#endif
+
 #define BUILDING_CURL_NTLM_MSGS_C
 #include "curl_ntlm_msgs.h"
 #include "curl_sasl.h"
@@ -271,7 +275,12 @@ CURLcode Curl_ntlm_decode_type2_message(struct SessionHandle *data,
   unsigned char *type2 = NULL;
   size_t type2_len = 0;
 
-#if defined(CURL_DISABLE_VERBOSE_STRINGS)
+#if defined(USE_NSS)
+  /* Make sure the crypto backend is initialized */
+  result = Curl_nss_force_init(data);
+  if(result)
+    return result;
+#elif defined(CURL_DISABLE_VERBOSE_STRINGS)
   (void)data;
 #endif
 
diff --git a/lib/curl_sasl.c b/lib/curl_sasl.c
index 47766a705..bfae4b386 100644
--- a/lib/curl_sasl.c
+++ b/lib/curl_sasl.c
@@ -45,10 +45,6 @@
 #include "rawstr.h"
 #include "non-ascii.h" /* included for Curl_convert_... prototypes */
 
-#ifdef USE_NSS
-#include "vtls/nssg.h" /* for Curl_nss_force_init() */
-#endif
-
 #define _MPRINTF_REPLACE /* use our functions only */
 #include <curl/mprintf.h>
 
@@ -1139,15 +1135,6 @@ CURLcode Curl_sasl_decode_ntlm_type2_message(struct SessionHandle *data,
                                              const char *type2msg,
                                              struct ntlmdata *ntlm)
 {
-#ifdef USE_NSS
-  CURLcode result;
-
-  /* make sure the crypto backend is initialized */
-  result = Curl_nss_force_init(data);
-  if(result)
-    return result;
-#endif
-
   return Curl_ntlm_decode_type2_message(data, type2msg, ntlm);
 }
 
-- 
2.40.0