From a81a16beacaa4b948ce487ac82589cbf0553b25e Mon Sep 17 00:00:00 2001 From: Daniel Stenberg 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 c388cb8fe..ee77e76c4 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 000000000..e772fecdb --- /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 or . 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.