diff options
author | Werner Koch <wk@gnupg.org> | 1999-02-20 20:45:42 +0000 |
---|---|---|
committer | Werner Koch <wk@gnupg.org> | 1999-02-20 20:45:42 +0000 |
commit | 1a43c29a5606bb4d3d24ced7314104d92adcd771 (patch) | |
tree | 1b1733d4b553d0785944824af551664cd39b3225 | |
parent | dd2c8d3ce818471a764e2ade710e9963572cf64a (diff) | |
download | libgcrypt-1a43c29a5606bb4d3d24ced7314104d92adcd771.tar.gz |
See ChangeLog: Sat Feb 20 21:40:49 CET 1999 Werner KochV1-0-4V1-0-3V1-0-2V1-0-1-ePit-1V1-0-1
-rw-r--r-- | cipher/g10c.c | 6 | ||||
-rw-r--r-- | cipher/rndlinux.c | 8 | ||||
-rw-r--r-- | cipher/rndunix.c | 2 | ||||
-rw-r--r-- | mpi/g10m.c | 4 | ||||
-rwxr-xr-x | scripts/autogen.sh | 8 | ||||
-rw-r--r-- | src/g10lib.h | 161 |
6 files changed, 176 insertions, 13 deletions
diff --git a/cipher/g10c.c b/cipher/g10c.c index 71852005..de6a09c9 100644 --- a/cipher/g10c.c +++ b/cipher/g10c.c @@ -24,8 +24,10 @@ #include "mpi.h" #include "random.h" #include "cipher.h" -#define _g10lib_INTERNAL 1 -#include "g10lib.h" + + +/* FIXME: The modules should use functions from libgcrypt */ + const char *g10c_revision_string(int dummy) { return "$Revision$"; } diff --git a/cipher/rndlinux.c b/cipher/rndlinux.c index 66bb34e6..a1a1c294 100644 --- a/cipher/rndlinux.c +++ b/cipher/rndlinux.c @@ -34,14 +34,14 @@ #include <unistd.h> #include <fcntl.h> #include "types.h" +#include "util.h" +#include "ttyio.h" +#include "dynload.h" + #ifdef IS_MODULE - #include "g10lib.h" #define _(a) (a) #else - #include "util.h" - #include "ttyio.h" #include "i18n.h" - #include "dynload.h" #endif static int open_device( const char *name, int minor ); diff --git a/cipher/rndunix.c b/cipher/rndunix.c index b7381a55..71f75dfc 100644 --- a/cipher/rndunix.c +++ b/cipher/rndunix.c @@ -53,10 +53,10 @@ #include <errno.h> #include "types.h" /* for byte and u32 typedefs */ -#include "g10lib.h" #ifndef IS_MODULE #include "dynload.h" #endif +#include "util.h" #ifndef EAGAIN #define EAGAIN EWOULDBLOCK @@ -22,9 +22,9 @@ #include <stdio.h> #include <stdlib.h> #include "mpi.h" -#define _g10lib_INTERNAL 1 -#include "g10lib.h" +#include "util.h" +/* FIXME: The modules should use functions from libgcrypt */ const char *g10m_revision_string(int dummy) { return "$Revision$"; } diff --git a/scripts/autogen.sh b/scripts/autogen.sh index c49e8137..6d59f46c 100755 --- a/scripts/autogen.sh +++ b/scripts/autogen.sh @@ -9,16 +9,16 @@ if (autoconf --version) < /dev/null > /dev/null 2>&1 ; then else echo echo "**Error**: You must have "\`autoconf\'" installed to compile $PGM." - echo ' (version 2.10 or newer is required)' + echo ' (version 2.13 or newer is required)' DIE="yes" fi if (automake --version) < /dev/null > /dev/null 2>&1 ; then if (aclocal --version) < /dev/null > /dev/null 2>&1; then - if (aclocal --version | awk 'NR==1 { if( $4 >= 1.3 ) exit 1; exit 0; }'); + if (aclocal --version | awk 'NR==1 { if( $4 >= 1.4 ) exit 1; exit 0; }'); then echo "**Error**: "\`aclocal\'" is too old." - echo ' (version 1.3 or newer is required)' + echo ' (version 1.4 or newer is required)' DIE="yes" fi else @@ -51,7 +51,7 @@ if test "$DIE" = "yes"; then fi echo "Running gettextize... Ignore non-fatal messages." -echo "no" | gettextize --force +echo "no" | gettextize --force echo "Running aclocal..." diff --git a/src/g10lib.h b/src/g10lib.h index 34d5c973..031dc950 100644 --- a/src/g10lib.h +++ b/src/g10lib.h @@ -41,7 +41,168 @@ int set_lasterr( int ec ); const char *g10_gettext( const char *key ); int fatal_invalid_arg(const char *text); +#if 0 +/* This used to be the old include/g10lib.h */ +#include "mpi.h" + +int g10c_debug_mode; +int g10_opt_verbose; + +/******************************** + ******* math functions ******* + ********************************/ +MPI g10m_new( unsigned nbits ); +MPI g10m_new_secure( unsigned nbits ); +void g10m_release( MPI a ); +void g10m_resize( MPI a, unsigned nbits ); +MPI g10m_copy( MPI a ); +void g10m_swap( MPI a, MPI b); +void g10m_set( MPI w, MPI u); +void g10m_set_ui( MPI w, unsigned long u); +void g10m_set_bytes( MPI a, unsigned nbits, unsigned char (*fnc)(int), int opaque ); +int g10m_cmp( MPI u, MPI v ); +int g10m_cmp_ui( MPI u, unsigned long v ); + + +void g10m_add(MPI w, MPI u, MPI v); +void g10m_add_ui(MPI w, MPI u, unsigned long v ); +void g10m_sub( MPI w, MPI u, MPI v); +void g10m_sub_ui(MPI w, MPI u, unsigned long v ); + +void g10m_mul_ui(MPI w, MPI u, unsigned long v ); +void g10m_mul_2exp( MPI w, MPI u, unsigned long cnt); +void g10m_mul( MPI w, MPI u, MPI v); +void g10m_mulm( MPI w, MPI u, MPI v, MPI m); + +void g10m_fdiv_q( MPI quot, MPI dividend, MPI divisor ); + +void g10m_powm( MPI res, MPI base, MPI exp, MPI mod); + +int g10m_gcd( MPI g, MPI a, MPI b ); +int g10m_invm( MPI x, MPI u, MPI v ); + +unsigned g10m_get_nbits( MPI a ); +unsigned g10m_get_size( MPI a ); + +void g10m_set_buffer( MPI a, const char *buffer, unsigned nbytes, int sign ); + + +/******************************************** + ******* symmetric cipher functions ******* + ********************************************/ + + + +/********************************************* + ******* asymmetric cipher functions ******* + *********************************************/ + + + + +/********************************************* + ******* cryptograhic hash functions ******* + *********************************************/ + + +/***************************************** + ******* miscellaneous functions ******* + *****************************************/ + +const char *g10m_revision_string(int mode); +const char *g10c_revision_string(int mode); +const char *g10u_revision_string(int mode); + +MPI g10c_generate_secret_prime( unsigned nbits ); +char *g10c_get_random_bits( unsigned nbits, int level, int secure ); + + +void *g10_malloc( size_t n ); +void *g10_calloc( size_t n ); +void *g10_malloc_secure( size_t n ); +void *g10_calloc_secure( size_t n ); +void *g10_realloc( void *a, size_t n ); +void g10_free( void *p ); +char *g10_strdup( const char * a); + +void g10_log_bug( const char *fmt, ... ); +void g10_log_bug0( const char *, int ); +void g10_log_fatal( const char *fmt, ... ); +void g10_log_error( const char *fmt, ... ); +void g10_log_info( const char *fmt, ... ); +void g10_log_debug( const char *fmt, ... ); +void g10_log_hexdump( const char *text, char *buf, size_t len ); +void g10_log_mpidump( const char *text, MPI a ); + + +/*************************** + ******* constants ******* + **************************/ +#define CIPHER_ALGO_NONE 0 +#define CIPHER_ALGO_IDEA 1 +#define CIPHER_ALGO_3DES 2 +#define CIPHER_ALGO_CAST5 3 +#define CIPHER_ALGO_BLOWFISH 4 /* blowfish 128 bit key */ +#define CIPHER_ALGO_SAFER_SK128 5 +#define CIPHER_ALGO_DES_SK 6 +#define CIPHER_ALGO_BLOWFISH160 42 /* blowfish 160 bit key (not in OpenPGP)*/ +#define CIPHER_ALGO_DUMMY 110 /* no encryption at all */ + +#define PUBKEY_ALGO_RSA 1 +#define PUBKEY_ALGO_RSA_E 2 /* RSA encrypt only */ +#define PUBKEY_ALGO_RSA_S 3 /* RSA sign only */ +#define PUBKEY_ALGO_ELGAMAL_E 16 /* encrypt only ElGamal (but not vor v3)*/ +#define PUBKEY_ALGO_DSA 17 +#define PUBKEY_ALGO_ELGAMAL 20 /* sign and encrypt elgamal */ + +#define DIGEST_ALGO_MD5 1 +#define DIGEST_ALGO_SHA1 2 +#define DIGEST_ALGO_RMD160 3 +#define DIGEST_ALGO_TIGER 6 + +#define is_RSA(a) ((a)==PUBKEY_ALGO_RSA || (a)==PUBKEY_ALGO_RSA_E \ + || (a)==PUBKEY_ALGO_RSA_S ) +#define is_ELGAMAL(a) ((a)==PUBKEY_ALGO_ELGAMAL || (a)==PUBKEY_ALGO_ELGAMAL_E) + +#define G10ERR_GENERAL 1 +#define G10ERR_PUBKEY_ALGO 4 +#define G10ERR_DIGEST_ALGO 5 +#define G10ERR_BAD_PUBKEY 6 +#define G10ERR_BAD_SECKEY 7 +#define G10ERR_BAD_SIGN 8 +#define G10ERR_CIPHER_ALGO 12 +#define G10ERR_WRONG_SECKEY 18 +#define G10ERR_UNSUPPORTED 19 +#define G10ERR_NI_PUBKEY 27 +#define G10ERR_NI_CIPHER 28 +#define G10ERR_BAD_MPI 30 +#define G10ERR_WR_PUBKEY_ALGO 41 + + +/*********************************** + ******* some handy macros ******* + ***********************************/ + +#ifndef BUG + #define BUG() g10_log_bug0( __FILE__ , __LINE__ ) +#endif + +#ifndef STR + #define STR(v) #v + #define STR2(v) STR(v) +#endif + +#ifndef DIM + #define DIM(v) (sizeof(v)/sizeof((v)[0])) + #define DIMof(type,member) DIM(((type *)0)->member) +#endif + + +#define DBG_CIPHER g10c_debug_mode +#define OPT_VERBOSE g10_opt_verbose + +#endif /* if 0 */ #endif /* G10LIB_H */ |