added zlib and reorgnaized some stuff
authorWerner Koch <wk@gnupg.org>
Thu, 12 Feb 1998 14:38:57 +0000 (14:38 +0000)
committerWerner Koch <wk@gnupg.org>
Thu, 12 Feb 1998 14:38:57 +0000 (14:38 +0000)
Makefile.am
cipher/Makefile.in
cipher/md.c
cipher/md.h
configure.in
mpi/Makefile.in

index dbc888c..c138df3 100644 (file)
@@ -1,6 +1,6 @@
 ## Process this file with automake to produce Makefile.in
 
-SUBDIRS =  intl po util mpi cipher tools g10
+SUBDIRS =  intl po util mpi cipher @ZLIB_SUBDIR@ tools g10
 EXTRA_DIST = VERSION
 
 
index e4ab5ed..aba727a 100644 (file)
@@ -72,7 +72,6 @@ G10_LOCALEDIR = @G10_LOCALEDIR@
 GENCAT = @GENCAT@
 GMOFILES = @GMOFILES@
 GMSGFMT = @GMSGFMT@
-HAVE_ZLIB_H = @HAVE_ZLIB_H@
 INSTOBJEXT = @INSTOBJEXT@
 INTLDEPS = @INTLDEPS@
 INTLLIBS = @INTLLIBS@
@@ -85,6 +84,8 @@ POFILES = @POFILES@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
 VERSION = @VERSION@
+ZLIBS = @ZLIBS@
+ZLIB_SUBDIR = @ZLIB_SUBDIR@
 
 INCLUDES =  -I$(top_srcdir)/include
 EXTRA_DIST = @CIPHER_EXTRA_DIST@
index c87f328..4608396 100644 (file)
@@ -28,6 +28,7 @@
 #include "errors.h"
 
 
+
 /*static FILE *dumpfp;*/
 
 /****************
@@ -176,3 +177,39 @@ md_get_algo( MD_HANDLE a )
     return 0;
 }
 
+
+const byte *
+md_asn_oid( int algo, size_t *asnlen, size_t *mdlen )
+{
+    size_t alen, mlen;
+    byte *p;
+
+    if( algo == DIGEST_ALGO_MD5 ) {
+       static byte asn[18] = /* Object ID is 1.2.840.113549.2.5 */
+                   { 0x30, 0x20, 0x30, 0x0c, 0x06, 0x08, 0x2a, 0x86,0x48,
+                     0x86, 0xf7, 0x0d, 0x02, 0x05, 0x05, 0x00, 0x04, 0x10 };
+       mlen = 16; alen = DIM(asn); p = asn;
+    }
+    else if( algo == DIGEST_ALGO_RMD160 ) {
+       static byte asn[15] = /* Object ID is 1.3.36.3.2.1 */
+         { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x24, 0x03,
+           0x02, 0x01, 0x05, 0x00, 0x04, 0x14 };
+       mlen = 20; alen = DIM(asn); p = asn;
+    }
+    else if( algo == DIGEST_ALGO_SHA1 ) {
+       static byte asn[15] = /* Objet ID is 1.3.14.3.2.26 */
+                   { 0x30, 0x21, 0x30, 0x09, 0x06, 0x05, 0x2b, 0x0e, 0x03,
+                     0x02, 0x1a, 0x05, 0x00, 0x04, 0x14 };
+       mlen = 20; alen = DIM(asn); p = asn;
+    }
+    else
+       log_bug("md_asn_oid(%d)", algo );
+
+    if( asnlen )
+       *asnlen = alen;
+    if( mdlen )
+       *mdlen = mlen;
+    return p;
+}
+
+
index 7a710e7..fc5d28d 100644 (file)
@@ -56,6 +56,7 @@ void md_write( MD_HANDLE a, byte *inbuf, size_t inlen);
 void md_final(MD_HANDLE a);
 byte *md_read( MD_HANDLE a, int algo );
 int md_get_algo( MD_HANDLE a );
+const byte *md_asn_oid( int algo, size_t *asnlen, size_t *mdlen );
 #define md_is_secure(a) ((a)->secure)
 
 #endif /*G10_MD_H*/
index 747d7cd..33e1f2f 100644 (file)
@@ -33,15 +33,10 @@ if test "$enableval" = y || test "$enableval" = yes; then
     AC_DEFINE(M_DEBUG)
 fi
 
-dnl Some systems have a broken zlib. "--disable-zlib" avoids it's usage
-enableval=yes
-AC_ARG_ENABLE(zlib,
-[  --disable-zlib        Avoid usage of zlib])
-if test "$enableval" = y || test "$enableval" = yes; then
-    g10_use_zlib=yes
-else
-    g10_use_zlib=no
-fi
+AC_ARG_WITH(zlib,
+[  --with-zlib           link against static zlib],
+[g10_force_zlib=yes], [g10_force_zlib=no] )
+
 CFLAGS="-g -Wall"
 
 
@@ -167,13 +162,26 @@ AC_SUBST(MPI_EXTRA_ASM_OBJS)
 
 dnl Do we have zlib? Must do it here because Solaris failed
 dnl when compiling a conftest (due to the "-lz" from LIBS).
-if test "$g10_use_zlib" = "yes"; then
-AC_CHECK_HEADERS(zlib.h,
-                [LIBS="$LIBS -lz"],
-                AC_MSG_WARN([zlib missing - creating without ZLIB support!])
-               )
+ZLIBS=
+ZLIB_SUBDIR=
+if test "$g10_force_zlib" = "yes"; then
+    ZLIBS="\${top_srcdir}/zlib/libzlib.a"
+    ZLIB_SUBDIR=zlib
+    WK_LINK_FILES(zlib/zlib.h, zlib.h )
+    WK_LINK_FILES(zlib/zconf.h, zconf.h )
+else
+AC_CHECK_HEADERS(zlib.h)
+if test "$ac_cv_header_zlib_h" = yes ; then
+    LIBS="$LIBS -lz"
+else
+    ZLIBS="\${top_srcdir}/zlib/libzlib.a"
+    ZLIB_SUBDIR=zlib
+    WK_LINK_FILES(zlib/zlib.h, zlib.h )
+    WK_LINK_FILES(zlib/zconf.h, zconf.h )
+fi
 fi
-AC_SUBST(HAVE_ZLIB_H)
+AC_SUBST(ZLIBS)
+AC_SUBST(ZLIB_SUBDIR)
 
 dnl checking whether we have other cipher source files
 CIPHER_EXTRA_OBJS=""
@@ -208,5 +216,6 @@ mpi/Makefile
 cipher/Makefile
 g10/Makefile
 tools/Makefile
+zlib/Makefile
 ],[echo timestamp >stamp-h; sed -e "/POTFILES =/r po/POTFILES" po/Makefile.in > po/Makefile])
 
index bcbbc64..3b34ede 100644 (file)
@@ -72,7 +72,6 @@ G10_LOCALEDIR = @G10_LOCALEDIR@
 GENCAT = @GENCAT@
 GMOFILES = @GMOFILES@
 GMSGFMT = @GMSGFMT@
-HAVE_ZLIB_H = @HAVE_ZLIB_H@
 INSTOBJEXT = @INSTOBJEXT@
 INTLDEPS = @INTLDEPS@
 INTLLIBS = @INTLLIBS@
@@ -85,6 +84,8 @@ POFILES = @POFILES@
 POSUB = @POSUB@
 RANLIB = @RANLIB@
 VERSION = @VERSION@
+ZLIBS = @ZLIBS@
+ZLIB_SUBDIR = @ZLIB_SUBDIR@
 
 INCLUDES =  -I$(top_srcdir)/include