]> granicus.if.org Git - apache/commitdiff
enable/cleanup SSL_X509_INFO_load_{file,path} functions for use in
authorDoug MacEachern <dougm@apache.org>
Sat, 30 Mar 2002 01:41:35 +0000 (01:41 +0000)
committerDoug MacEachern <dougm@apache.org>
Sat, 30 Mar 2002 01:41:35 +0000 (01:41 +0000)
proxy context

git-svn-id: https://svn.apache.org/repos/asf/httpd/httpd/trunk@94323 13f79535-47bb-0310-9956-ffa450edef68

modules/ssl/ssl_toolkit_compat.h
modules/ssl/ssl_util_ssl.c
modules/ssl/ssl_util_ssl.h

index 539714154661d51b789e3c3e69810573b9d5fae0..0dacf1960c688f19718c703c23200fd77c873f48 100644 (file)
@@ -99,6 +99,8 @@
 
 #define modssl_PEM_read_bio_X509 PEM_read_bio_X509
 
+#define modssl_PEM_X509_INFO_read_bio PEM_X509_INFO_read_bio 
+
 #define modssl_PEM_read_bio_PrivateKey PEM_read_bio_PrivateKey
 
 #define modssl_set_cipher_list SSL_set_cipher_list
 #define modssl_PEM_read_bio_X509(b, x, cb, arg) \
    PEM_read_bio_X509(b, x, cb)
 
+#define modssl_PEM_X509_INFO_read_bio(b, x, cb, arg)\
+   PEM_X509_INFO_read_bio(b, x, cb)
+
 #define modssl_PEM_read_bio_PrivateKey(b, k, cb, arg) \
    PEM_read_bio_PrivateKey(b, k, cb)
 
index c2a0ca235086c2da39898b31febb8db45efaf812..030fac299d1a73bb51c17069e45af6da22685548 100644 (file)
@@ -416,56 +416,62 @@ BOOL SSL_X509_getCN(apr_pool_t *p, X509 *xs, char **cppCN)
 **  _________________________________________________________________
 */
 
-#ifdef SSL_EXPERIMENTAL_PROXY
-
-BOOL SSL_load_CrtAndKeyInfo_file(apr_pool_t *p, STACK_OF(X509_INFO) *sk, char *filename)
+BOOL SSL_X509_INFO_load_file(apr_pool_t *ptemp,
+                             STACK_OF(X509_INFO) *sk,
+                             const char *filename)
 {
     BIO *in;
 
-    if ((in = BIO_new(BIO_s_file())) == NULL)
+    if (!(in = BIO_new(BIO_s_file()))) {
         return FALSE;
+    }
+
     if (BIO_read_filename(in, filename) <= 0) {
         BIO_free(in);
         return FALSE;
     }
+
     ERR_clear_error();
-#if SSL_LIBRARY_VERSION < 0x00904000
-    PEM_X509_INFO_read_bio(in, sk, NULL);
-#else
-    PEM_X509_INFO_read_bio(in, sk, NULL, NULL);
-#endif
+
+    modssl_PEM_X509_INFO_read_bio(in, sk, NULL, NULL);
+
     BIO_free(in);
+
     return TRUE;
 }
 
-BOOL SSL_load_CrtAndKeyInfo_path(apr_pool_t *p, STACK_OF(X509_INFO) *sk, char *pathname)
+BOOL SSL_X509_INFO_load_path(apr_pool_t *ptemp,
+                             STACK_OF(X509_INFO) *sk,
+                             const char *pathname)
 {
-    apr_pool_t *sp;
     apr_dir_t *dir;
     apr_finfo_t dirent;
-    char *fullname;
-    BOOL ok;
+    const char *fullname;
+    BOOL ok = FALSE;
 
-    apr_pool_sub_make(&sp, p, NULL);
-    if (apr_dir_open(&dir, pathname, sp)) != APR_SUCCESS) {
-        apr_pool_destroy(sp);
+    if (apr_dir_open(&dir, pathname, ptemp) != APR_SUCCESS) {
         return FALSE;
     }
-    ok = FALSE;
+
     while ((apr_dir_read(&dirent, APR_FINFO_DIRENT, dir)) == APR_SUCCESS) {
-        fullname = apr_pstrcat(sp, pathname, "/", dirent.name, NULL);
-        if (dirent.filetype != APR_REG)
+        fullname = apr_pstrcat(ptemp,
+                               pathname, "/", dirent.name,
+                               NULL);
+
+        if (dirent.filetype != APR_REG) {
             continue;
-        if (SSL_load_CrtAndKeyInfo_file(sp, sk, fullname))
+        }
+
+        if (SSL_X509_INFO_load_file(ptemp, sk, fullname)) {
             ok = TRUE;
+        }
     }
+
     apr_dir_close(dir);
-    apr_pool_destroy(sp);
+
     return ok;
 }              
 
-#endif /* SSL_EXPERIMENTAL_PROXY */
-
 /*  _________________________________________________________________
 **
 **  Extra Server Certificate Chain Support
index 450addc742db433f00d850758f4480ecdd22d830..3e090cf9219a738ff18ddf07a85859e889f091f0 100644 (file)
@@ -99,10 +99,8 @@ char       *SSL_make_ciphersuite(apr_pool_t *, SSL *);
 BOOL        SSL_X509_isSGC(X509 *);
 BOOL        SSL_X509_getBC(X509 *, int *, int *);
 BOOL        SSL_X509_getCN(apr_pool_t *, X509 *, char **);
-#ifdef SSL_EXPERIMENTAL_PROXY
-BOOL        SSL_load_CrtAndKeyInfo_file(apr_pool_t *, STACK_OF(X509_INFO) *, char *);
-BOOL        SSL_load_CrtAndKeyInfo_path(apr_pool_t *, STACK_OF(X509_INFO) *, char *);
-#endif /* SSL_EXPERIMENTAL_PROXY */
+BOOL        SSL_X509_INFO_load_file(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
+BOOL        SSL_X509_INFO_load_path(apr_pool_t *, STACK_OF(X509_INFO) *, const char *);
 int         SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, int (*)(char*,int,int,void*));
 char       *SSL_SESSION_id2sz(unsigned char *, int, char *, int);