httpd-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joe Orton <jor...@redhat.com>
Subject Re: [Patch 2.0] d2i_SSL_SESSION args for 0.9.7f-/0.9.7g/0.9.8
Date Fri, 08 Jul 2005 15:00:00 GMT
On Fri, Jul 08, 2005 at 09:53:44AM -0500, William Rowe wrote:
> 
> >At 01:48 AM 7/8/2005, Joe Orton wrote:
> >>On Thu, Jul 07, 2005 at 06:51:04PM -0500, William Rowe wrote:
> >>> 
> >>> This resolves build issues which caused errors in 0.9.7f and
> >>> prior on Win32 and build failures on Netware.  This patch
> >>> correctly chooses the appropriate const-ness for 0.9.6, 0.9.7,
> >>> or 0.9.8 OpenSSL.  It needs to be verified on Netware since
> >>> my Win32 builds completely clean.
> >>
> >>-1, this is barely readable, using a #define as previously or a typedef 
> >>in ssl_toolkit_compat.h is much cleaner.
> 
> Ok, attached is a const-flag based solution buried back into
> ssl_toolkit_compat.h, that I believe is the most readable.
> 
> Comments/Votes?  2.0.x patch attached; 2.1 committed.

+1 for 2.0.x if the below is changed to use (unsigned char *) rather 
than (UCHAR *) in the cast too.  Thanks for fixing this!

> --- ssl_scache_dbm.c	(revision 209795)
> +++ ssl_scache_dbm.c	(working copy)
> @@ -193,7 +193,7 @@
>      apr_datum_t dbmkey;
>      apr_datum_t dbmval;
>      SSL_SESSION *sess = NULL;
> -    UCHAR *ucpData;
> +    MODSSL_D2I_SSL_SESSION_CONST unsigned char *ucpData;
>      int nData;
>      time_t expiry;
>      time_t now;
> @@ -234,13 +234,14 @@
>  
>      /* parse resulting data */
>      nData = dbmval.dsize-sizeof(time_t);
> -    ucpData = (UCHAR *)malloc(nData);
> +    ucpData = malloc(nData);
>      if (ucpData == NULL) {
>          apr_dbm_close(dbm);
>          ssl_mutex_off(s);
>          return NULL;
>      }
> -    memcpy(ucpData, (char *)dbmval.dptr+sizeof(time_t), nData);
> +    /* Cast needed, ucpData may be const */
> +    memcpy((UCHAR *)ucpData, (char *)dbmval.dptr+sizeof(time_t), nData);
>      memcpy(&expiry, dbmval.dptr, sizeof(time_t));
>  
>      apr_dbm_close(dbm);



Mime
View raw message