You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cvs@httpd.apache.org by do...@apache.org on 2002/03/30 02:41:36 UTC
cvs commit: httpd-2.0/modules/ssl ssl_toolkit_compat.h ssl_util_ssl.c ssl_util_ssl.h
dougm 02/03/29 17:41:36
Modified: modules/ssl ssl_toolkit_compat.h ssl_util_ssl.c
ssl_util_ssl.h
Log:
enable/cleanup SSL_X509_INFO_load_{file,path} functions for use in
proxy context
Revision Changes Path
1.22 +5 -0 httpd-2.0/modules/ssl/ssl_toolkit_compat.h
Index: ssl_toolkit_compat.h
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_toolkit_compat.h,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -r1.21 -r1.22
--- ssl_toolkit_compat.h 29 Mar 2002 02:59:27 -0000 1.21
+++ ssl_toolkit_compat.h 30 Mar 2002 01:41:35 -0000 1.22
@@ -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
@@ -123,6 +125,9 @@
#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)
1.19 +29 -23 httpd-2.0/modules/ssl/ssl_util_ssl.c
Index: ssl_util_ssl.c
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_util_ssl.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -r1.18 -r1.19
--- ssl_util_ssl.c 27 Mar 2002 18:19:44 -0000 1.18
+++ ssl_util_ssl.c 30 Mar 2002 01:41:35 -0000 1.19
@@ -416,55 +416,61 @@
** _________________________________________________________________
*/
-#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 */
/* _________________________________________________________________
**
1.17 +2 -4 httpd-2.0/modules/ssl/ssl_util_ssl.h
Index: ssl_util_ssl.h
===================================================================
RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_util_ssl.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- ssl_util_ssl.h 27 Mar 2002 18:20:37 -0000 1.16
+++ ssl_util_ssl.h 30 Mar 2002 01:41:35 -0000 1.17
@@ -99,10 +99,8 @@
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);