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__ */