- upstream patch for NSS support written by Guenter Knauf
This commit is contained in:
		
							parent
							
								
									c87eab1257
								
							
						
					
					
						commit
						3fad0a17fb
					
				
							
								
								
									
										94
									
								
								curl-7.19.6-nss-guenter.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										94
									
								
								curl-7.19.6-nss-guenter.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,94 @@ | |||||||
|  | --- curl-7.19.6/lib/nss.c	2009-09-30 15:29:35.965297742 +0200
 | ||||||
|  | +++ /tmp/nss.c	2009-09-30 15:23:05.000000000 +0200
 | ||||||
|  | @@ -63,6 +63,7 @@
 | ||||||
|  |  #include <secitem.h> | ||||||
|  |  #include <secport.h> | ||||||
|  |  #include <certdb.h> | ||||||
|  | +#include <base64.h>
 | ||||||
|  |   | ||||||
|  |  #include "curl_memory.h" | ||||||
|  |  #include "rawstr.h" | ||||||
|  | @@ -265,7 +266,7 @@ static int num_enabled_ciphers(void)
 | ||||||
|  |   */ | ||||||
|  |  static int is_file(const char *filename) | ||||||
|  |  { | ||||||
|  | -  struct stat st;
 | ||||||
|  | +  struct_stat st;
 | ||||||
|  |   | ||||||
|  |    if(filename == NULL) | ||||||
|  |      return 0; | ||||||
|  | @@ -963,26 +964,38 @@ CURLcode Curl_nss_connect(struct connect
 | ||||||
|  |    /* FIXME. NSS doesn't support multiple databases open at the same time. */ | ||||||
|  |    PR_Lock(nss_initlock); | ||||||
|  |    if(!initialized) { | ||||||
|  | +    struct_stat st;
 | ||||||
|  |   | ||||||
|  | -    certDir = getenv("SSL_DIR"); /* Look in $SSL_DIR */
 | ||||||
|  | +    /* First we check if $SSL_DIR points to a valid dir */
 | ||||||
|  | +    certDir = getenv("SSL_DIR");
 | ||||||
|  | +    if(certDir) {
 | ||||||
|  | +      if((stat(certDir, &st) != 0) ||
 | ||||||
|  | +              (!S_ISDIR(st.st_mode))) {
 | ||||||
|  | +        certDir = NULL;
 | ||||||
|  | +      }
 | ||||||
|  | +    }
 | ||||||
|  |   | ||||||
|  | +    /* Now we check if the default location is a valid dir */
 | ||||||
|  |      if(!certDir) { | ||||||
|  | -      struct stat st;
 | ||||||
|  | -
 | ||||||
|  | -      if(stat(SSL_DIR, &st) == 0)
 | ||||||
|  | -        if(S_ISDIR(st.st_mode)) {
 | ||||||
|  | -          certDir = (char *)SSL_DIR;
 | ||||||
|  | -        }
 | ||||||
|  | +      if((stat(SSL_DIR, &st) == 0) &&
 | ||||||
|  | +              (S_ISDIR(st.st_mode))) {
 | ||||||
|  | +        certDir = (char *)SSL_DIR;
 | ||||||
|  | +      }
 | ||||||
|  |      } | ||||||
|  |   | ||||||
|  |      if (!NSS_IsInitialized()) { | ||||||
|  |        initialized = 1; | ||||||
|  | +      infof(conn->data, "Initializing NSS with certpath: %s\n",
 | ||||||
|  | +            certDir ? certDir : "none");
 | ||||||
|  |        if(!certDir) { | ||||||
|  |          rv = NSS_NoDB_Init(NULL); | ||||||
|  |        } | ||||||
|  |        else { | ||||||
|  | -        rv = NSS_Initialize(certDir, NULL, NULL, "secmod.db",
 | ||||||
|  | -                            NSS_INIT_READONLY);
 | ||||||
|  | +        char *certpath = PR_smprintf("%s%s",
 | ||||||
|  | +                         NSS_VersionCheck("3.12.0") ? "sql:" : "",
 | ||||||
|  | +                         certDir);
 | ||||||
|  | +        rv = NSS_Initialize(certpath, "", "", "", NSS_INIT_READONLY);
 | ||||||
|  | +        PR_smprintf_free(certpath);
 | ||||||
|  |        } | ||||||
|  |        if(rv != SECSuccess) { | ||||||
|  |          infof(conn->data, "Unable to initialize NSS database\n"); | ||||||
|  | @@ -1103,7 +1116,7 @@ CURLcode Curl_nss_connect(struct connect
 | ||||||
|  |      } | ||||||
|  |    } | ||||||
|  |    else if(data->set.ssl.CApath) { | ||||||
|  | -    struct stat st;
 | ||||||
|  | +    struct_stat st;
 | ||||||
|  |      PRDir      *dir; | ||||||
|  |      PRDirEntry *entry; | ||||||
|  |   | ||||||
|  | @@ -1282,7 +1295,7 @@ int Curl_nss_send(struct connectdata *co
 | ||||||
|  |    int rc; | ||||||
|  |   | ||||||
|  |    if(data->set.timeout) | ||||||
|  | -    timeout = PR_MillisecondsToInterval(data->set.timeout);
 | ||||||
|  | +    timeout = PR_MillisecondsToInterval((PRUint32)data->set.timeout);
 | ||||||
|  |    else | ||||||
|  |      timeout = PR_MillisecondsToInterval(DEFAULT_CONNECT_TIMEOUT); | ||||||
|  |   | ||||||
|  | @@ -1318,7 +1331,7 @@ ssize_t Curl_nss_recv(struct connectdata
 | ||||||
|  |    PRInt32 timeout; | ||||||
|  |   | ||||||
|  |    if(data->set.timeout) | ||||||
|  | -    timeout = PR_SecondsToInterval(data->set.timeout);
 | ||||||
|  | +    timeout = PR_SecondsToInterval((PRUint32)data->set.timeout);
 | ||||||
|  |    else | ||||||
|  |      timeout = PR_MillisecondsToInterval(DEFAULT_CONNECT_TIMEOUT); | ||||||
|  |   | ||||||
| @ -1,7 +1,7 @@ | |||||||
| Summary: A utility for getting files from remote servers (FTP, HTTP, and others) | Summary: A utility for getting files from remote servers (FTP, HTTP, and others) | ||||||
| Name: curl | Name: curl | ||||||
| Version: 7.19.6 | Version: 7.19.6 | ||||||
| Release: 11%{?dist} | Release: 12%{?dist} | ||||||
| License: MIT | License: MIT | ||||||
| Group: Applications/Internet | Group: Applications/Internet | ||||||
| Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma | Source: http://curl.haxx.se/download/%{name}-%{version}.tar.lzma | ||||||
| @ -10,6 +10,7 @@ Patch1: curl-7.19.6-verifyhost.patch | |||||||
| Patch2: curl-7.19.6-nss-cn.patch | Patch2: curl-7.19.6-nss-cn.patch | ||||||
| Patch3: curl-7.19.6-poll.patch | Patch3: curl-7.19.6-poll.patch | ||||||
| Patch4: curl-7.19.6-autoconf.patch | Patch4: curl-7.19.6-autoconf.patch | ||||||
|  | Patch5: curl-7.19.6-nss-guenter.patch | ||||||
| Patch101: curl-7.15.3-multilib.patch | Patch101: curl-7.15.3-multilib.patch | ||||||
| Patch102: curl-7.16.0-privlibs.patch | Patch102: curl-7.16.0-privlibs.patch | ||||||
| Patch103: curl-7.19.4-debug.patch | Patch103: curl-7.19.4-debug.patch | ||||||
| @ -76,6 +77,7 @@ use cURL's capabilities internally. | |||||||
| %patch2 -p1 | %patch2 -p1 | ||||||
| %patch3 -p1 | %patch3 -p1 | ||||||
| %patch4 -p1 | %patch4 -p1 | ||||||
|  | %patch5 -p1 | ||||||
| 
 | 
 | ||||||
| # Fedora patches | # Fedora patches | ||||||
| %patch101 -p1 | %patch101 -p1 | ||||||
| @ -164,6 +166,9 @@ rm -rf $RPM_BUILD_ROOT | |||||||
| %{_datadir}/aclocal/libcurl.m4 | %{_datadir}/aclocal/libcurl.m4 | ||||||
| 
 | 
 | ||||||
| %changelog | %changelog | ||||||
|  | * Tue Oct 06 2009 Kamil Dudka <kdudka@redhat.com> 7.19.6-12 | ||||||
|  | - upstream patch for NSS support written by Guenter Knauf | ||||||
|  | 
 | ||||||
| * Wed Sep 30 2009 Kamil Dudka <kdudka@redhat.com> 7.19.6-11 | * Wed Sep 30 2009 Kamil Dudka <kdudka@redhat.com> 7.19.6-11 | ||||||
| - build libcurl with c-ares support (#514771) | - build libcurl with c-ares support (#514771) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user