34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Natural
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Natural
		
	
	
	
	
	
                               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.
 |