diff --git a/src/modules/_Crypto/Makefile b/src/modules/_Crypto/Makefile index ab8dc9adc2bda48579cad8e55cfd6e0d512d6a35..1618c29cb164830c2e345fd90af48f7bf8b87323 100644 --- a/src/modules/_Crypto/Makefile +++ b/src/modules/_Crypto/Makefile @@ -22,7 +22,7 @@ CFLAGS=-Wall -O -shared -fpic $(IFLAGS) $(CPPFLAGS) -pedantic -Wall LDFLAGS=-shared -fpic -R$(SSLROOT)/lib -L$(SSLROOT)/lib LOADLIBES=-lcrypto -lssl -OBJS=crypto.o md5.o md2.o idea.o des.o invert.o +OBJS=crypto.o md5.o md2.o idea.o des.o invert.o cbc.o # The actual rules diff --git a/src/modules/_Crypto/precompiled_crypto.h b/src/modules/_Crypto/precompiled_crypto.h index a250a7d302a30569768d6910e8964d39c1625172..1a9138680f838a47760e7d3601ee269344ff3171 100644 --- a/src/modules/_Crypto/precompiled_crypto.h +++ b/src/modules/_Crypto/precompiled_crypto.h @@ -32,9 +32,8 @@ struct pike_crypto { struct object *object; INT32 block_size; - INT32 overflow_len; - unsigned char *iv; - unsigned char *overflow; + INT32 backlog_len; + unsigned char *backlog; }; struct pike_md2 { @@ -50,8 +49,7 @@ struct pike_md5 { }; struct pike_idea { - unsigned char key[8]; - IDEA_KEY_SCHEDULE e_key, d_key; + IDEA_KEY_SCHEDULE key; }; struct pike_des { @@ -63,6 +61,13 @@ struct pike_des { unsigned overflow_len; }; +struct pike_cbc { + struct object *object; + unsigned char *iv; + INT32 block_size; + INT32 mode; +}; + /* * Defines */ @@ -75,6 +80,8 @@ struct pike_des { #define PIKE_IDEA ((struct pike_idea *)(fp->current_storage)) #define PIKE_DES ((struct pike_des *)(fp->current_storage)) +#define PIKE_CBC ((struct pike_cbc *)(fp->current_storage)) + /* * Globals */ @@ -83,6 +90,8 @@ struct pike_des { * Prototypes */ +void assert_is_crypto_module(struct object *); + /* * Module linkage */ @@ -112,4 +121,9 @@ void init_invert_efuns(void); void init_invert_programs(void); void exit_invert(void); +/* /precompiled/crypto/cbc */ +void init_cbc_efuns(void); +void init_cbc_programs(void); +void exit_cbc(void); + #endif /* PRECOMPILED_X_H */