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/04/03 00:07:09 UTC

cvs commit: httpd-2.0/modules/ssl ssl_util_ssl.c

dougm       02/04/02 14:07:09

  Modified:    modules/ssl ssl_util_ssl.c
  Log:
  fix SSL_X509_INFO_load_path so SSLProxyMachineCertificatePath works
  
  Revision  Changes    Path
  1.20      +10 -5     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.19
  retrieving revision 1.20
  diff -u -r1.19 -r1.20
  --- ssl_util_ssl.c	30 Mar 2002 01:41:35 -0000	1.19
  +++ ssl_util_ssl.c	2 Apr 2002 22:07:09 -0000	1.20
  @@ -444,8 +444,13 @@
                                STACK_OF(X509_INFO) *sk,
                                const char *pathname)
   {
  +    /* XXX: this dir read code is exactly the same as that in
  +     * ssl_engine_init.c, only the call to handle the fullname is different,
  +     * should fold the duplication.
  +     */
       apr_dir_t *dir;
       apr_finfo_t dirent;
  +    apr_int32_t finfo_flags = APR_FINFO_MIN|APR_FINFO_NAME;
       const char *fullname;
       BOOL ok = FALSE;
   
  @@ -453,14 +458,14 @@
           return FALSE;
       }
   
  -    while ((apr_dir_read(&dirent, APR_FINFO_DIRENT, dir)) == APR_SUCCESS) {
  +    while ((apr_dir_read(&dirent, finfo_flags, dir)) == APR_SUCCESS) {
  +        if (dirent.filetype == APR_DIR) {
  +            continue; /* don't try to load directories */
  +        }
  +
           fullname = apr_pstrcat(ptemp,
                                  pathname, "/", dirent.name,
                                  NULL);
  -
  -        if (dirent.filetype != APR_REG) {
  -            continue;
  -        }
   
           if (SSL_X509_INFO_load_file(ptemp, sk, fullname)) {
               ok = TRUE;