From a81a16beacaa4b948ce487ac82589cbf0553b25e Mon Sep 17 00:00:00 2001
From: Daniel Stenberg <daniel@haxx.se>
Date: Tue, 24 Jun 2008 08:52:35 +0000
Subject: [PATCH] Added README.NSS to describe the current NSS situation.

---
 lib/Makefile.am |  3 ++-
 lib/README.NSS  | 33 +++++++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 1 deletion(-)
 create mode 100644 lib/README.NSS

diff --git a/lib/Makefile.am b/lib/Makefile.am
index c388cb8fed..ee77e76c4c 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -26,7 +26,8 @@ DSP = curllib.dsp
 VCPROJ = curllib.vcproj
 
 DOCS = README.encoding README.memoryleak README.ares README.curlx	\
- README.hostip README.multi_socket README.httpauth README.pipelining
+ README.hostip README.multi_socket README.httpauth README.pipelining    \
+ README.NSS
 
 EXTRA_DIST = Makefile.b32 Makefile.m32 Makefile.vc6 Makefile.riscos	\
  $(DSP) curllib.dsw config-win32.h config-win32ce.h config-riscos.h	\
diff --git a/lib/README.NSS b/lib/README.NSS
new file mode 100644
index 0000000000..e772fecdb0
--- /dev/null
+++ b/lib/README.NSS
@@ -0,0 +1,33 @@
+                               libcurl with NSS
+                               ================
+
+Author: Daniel Stenberg
+Date:   June 24, 2008
+
+NSS home => http://www.mozilla.org/projects/security/pki/nss/
+
+libcurl can be built to use the NSS libraries for SSL/TLS. Invoke configure
+--without-ssl --with-nss.
+
+The source code in lib/nss.c currently cause a compiler warning due to the
+lack of a prototype. The prototype is provided by the public header provided
+by NSS called "base64.h". But since we use a private header in libcurl named
+identically, we cannot include the NSS one.
+
+This problem persists because:
+
+* NSS doesn't use a properly established separate subdir for their include
+  files. Instead different distros have put them in /usr/include/nss and
+  /usr/include/nss3 etc.
+
+* The pkg-config output for NSS provides a full -I path to the nss include dir,
+  so we cannot #include <nss/base64.h> or <nss3/base64.h>. This too may be due
+  to how distros do it.
+
+* I tried getting the (all new in June 2008) NSS 3.12 tarball to check how it
+  behaves out-of-box but this wouldn't even build - complaining on missing
+  files that aren't included in the tarball. The tarball doesn't even include
+  build instuctions but you must hunt them down on their web site.
+
+Due to these design problems we may of course get further similar problems in
+the future, but I hope we can work them out somehow along the way.
-- 
GitLab