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/27 19:19:44 UTC

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

dougm       02/03/27 10:19:44

  Modified:    modules/ssl ssl_engine_dh.c ssl_util_ssl.c ssl_util_ssl.h
  Log:
  add modssl_dh_configure() function to fold some duplication in
  get_dh{512,1024} and provide toolkit compat for sslc 2.x
  
  Revision  Changes    Path
  1.8       +5 -18     httpd-2.0/modules/ssl/ssl_engine_dh.c
  
  Index: ssl_engine_dh.c
  ===================================================================
  RCS file: /home/cvs/httpd-2.0/modules/ssl/ssl_engine_dh.c,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- ssl_engine_dh.c	13 Mar 2002 20:47:54 -0000	1.7
  +++ ssl_engine_dh.c	27 Mar 2002 18:19:44 -0000	1.8
  @@ -103,16 +103,10 @@
   
   static DH *get_dh512(void)
   {
  -    DH *dh;
  -
  -    if ((dh = DH_new()) == NULL)
  -        return (NULL);
  -    dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL);
  -    dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL);
  -    if ((dh->p == NULL) || (dh->g == NULL))
  -        return (NULL);
  -    return (dh);
  +    return modssl_dh_configure(dh512_p, sizeof(dh512_p),
  +                               dh512_g, sizeof(dh512_g));
   }
  +
   static unsigned char dh1024_p[] =
   {
       0xE6, 0x96, 0x9D, 0x3D, 0x49, 0x5B, 0xE3, 0x2C, 0x7C, 0xF1, 0x80, 0xC3,
  @@ -134,15 +128,8 @@
   
   static DH *get_dh1024(void)
   {
  -    DH *dh;
  -
  -    if ((dh = DH_new()) == NULL)
  -        return (NULL);
  -    dh->p = BN_bin2bn(dh1024_p, sizeof(dh1024_p), NULL);
  -    dh->g = BN_bin2bn(dh1024_g, sizeof(dh1024_g), NULL);
  -    if ((dh->p == NULL) || (dh->g == NULL))
  -        return (NULL);
  -    return (dh);
  +    return modssl_dh_configure(dh1024_p, sizeof(dh1024_p),
  +                               dh1024_g, sizeof(dh1024_g));
   }
   /* ----END GENERATED SECTION---------- */
   
  
  
  
  1.18      +28 -0     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.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- ssl_util_ssl.c	27 Mar 2002 05:50:56 -0000	1.17
  +++ ssl_util_ssl.c	27 Mar 2002 18:19:44 -0000	1.18
  @@ -566,3 +566,31 @@
       return CRYPTO_time_to_int(&ct);
   #endif
   }
  +
  +#ifndef SSLC_VERSION_NUMBER
  +#define SSLC_VERSION_NUMBER 0x0000
  +#endif
  +
  +DH *modssl_dh_configure(unsigned char *p, int plen,
  +                        unsigned char *g, int glen)
  +{
  +    DH *dh;
  +
  +    if (!(dh = DH_new())) {
  +        return NULL;
  +    }
  +
  +#if defined(OPENSSL_VERSION_NUMBER) || (SSLC_VERSION_NUMBER < 0x2000)
  +    dh->p = BN_bin2bn(p, plen, NULL);
  +    dh->g = BN_bin2bn(g, glen, NULL);
  +    if (!(dh->p && dh->g)) {
  +        DH_free(dh);
  +        return NULL;
  +    }
  +#else
  +    R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_P, 0, p, plen, R_EITEMS_PF_COPY);
  +    R_EITEMS_add(dh->data, PK_TYPE_DH, PK_DH_G, 0, g, glen, R_EITEMS_PF_COPY);
  +#endif
  +
  +    return dh;
  +}
  
  
  
  1.15      +3 -0      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.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- ssl_util_ssl.h	13 Mar 2002 20:47:56 -0000	1.14
  +++ ssl_util_ssl.h	27 Mar 2002 18:19:44 -0000	1.15
  @@ -106,4 +106,7 @@
   int         SSL_CTX_use_certificate_chain(SSL_CTX *, char *, int, int (*)(char*,int,int,void*));
   char       *SSL_SESSION_id2sz(unsigned char *, int, char *, int);
   
  +DH *modssl_dh_configure(unsigned char *p, int plen,
  +                        unsigned char *g, int glen);
  +
   #endif /* __SSL_UTIL_SSL_H__ */