cvs: /php4/ext/mcrypt mcrypt.c
| From: | Sascha Schumann | Date: | Sun, 31 Oct 1999 13:28:05 +0000 |
| Subject: | cvs: /php4/ext/mcrypt mcrypt.c | ||
| Groups: | php.version4 | ||
| Request: | Send a blank email to php-version4+get-5810@lists.php.net to get a copy of this message | ||
sas Sun Oct 31 08:28:05 1999 EDT
Modified files:
/php4/ext/mcrypt mcrypt.c
Log:
Support current mcrypt. Tested with libmcrypt-2.2.4
Index: php4/ext/mcrypt/mcrypt.c
diff -u php4/ext/mcrypt/mcrypt.c:1.20 php4/ext/mcrypt/mcrypt.c:1.21
--- php4/ext/mcrypt/mcrypt.c:1.20 Fri Sep 17 05:40:51 1999
+++ php4/ext/mcrypt/mcrypt.c Sun Oct 31 08:27:35 1999
@@ -81,7 +81,7 @@
convert_to_string_ex(key)
#define MCRYPT_SIZE \
- bsize = get_block_size((*cipher)->value.lval); \
+ bsize = mcrypt_get_block_size((*cipher)->value.lval); \
nr = ((*data)->value.str.len + bsize - 1) / bsize; \
nsize = nr * bsize
@@ -110,7 +110,9 @@
#define MCRYPT_IV_WRONG_SIZE "The IV paramater must be as long as the blocksize"
#define MCRYPT_FAILED "mcrypt initialization failed"
-#define MCRYPT_ENTRY(a) REGISTER_LONG_CONSTANT("MCRYPT_" #a, a, CONST_PERSISTENT)
+#define MCRYPT_ENTRY_NAMED(a,b) REGISTER_LONG_CONSTANT("MCRYPT_" #a, b, CONST_PERSISTENT)
+#define MCRYPT_ENTRY2(a) MCRYPT_ENTRY_NAMED(a, MCRYPT_##a)
+#define MCRYPT_ENTRY(a) MCRYPT_ENTRY_NAMED(a, a)
static PHP_MINIT_FUNCTION(mcrypt)
{
@@ -124,35 +126,42 @@
REGISTER_LONG_CONSTANT("MCRYPT_RAND", 2, CONST_PERSISTENT);
/* ciphers */
- MCRYPT_ENTRY(BLOWFISH);
- MCRYPT_ENTRY(DES);
- MCRYPT_ENTRY(TripleDES);
- MCRYPT_ENTRY(ThreeWAY);
- MCRYPT_ENTRY(GOST);
-#ifdef CRYPT
- MCRYPT_ENTRY(CRYPT);
+#if defined(MCRYPT_API_VERSION) && MCRYPT_API_VERSION == 19991015
+ MCRYPT_ENTRY2(BLOWFISH_448);
+ MCRYPT_ENTRY2(DES);
+ MCRYPT_ENTRY2(3DES);
+ MCRYPT_ENTRY2(3WAY);
+ MCRYPT_ENTRY2(GOST);
+ MCRYPT_ENTRY2(SAFER_64);
+ MCRYPT_ENTRY2(SAFER_128);
+ MCRYPT_ENTRY2(CAST_128);
+ MCRYPT_ENTRY2(XTEA);
+ MCRYPT_ENTRY2(RC2_1024);
+ MCRYPT_ENTRY2(TWOFISH_128);
+ MCRYPT_ENTRY2(TWOFISH_192);
+ MCRYPT_ENTRY2(TWOFISH_256);
+ MCRYPT_ENTRY2(BLOWFISH_128);
+ MCRYPT_ENTRY2(BLOWFISH_192);
+ MCRYPT_ENTRY2(BLOWFISH_256);
+ MCRYPT_ENTRY2(CAST_256);
+ MCRYPT_ENTRY2(SAFERPLUS);
+ MCRYPT_ENTRY2(LOKI97);
+ MCRYPT_ENTRY2(SERPENT_128);
+ MCRYPT_ENTRY2(SERPENT_192);
+ MCRYPT_ENTRY2(SERPENT_256);
+ MCRYPT_ENTRY2(RIJNDAEL_128);
+ MCRYPT_ENTRY2(RIJNDAEL_192);
+ MCRYPT_ENTRY2(RIJNDAEL_256);
+ MCRYPT_ENTRY2(RC2_256);
+ MCRYPT_ENTRY2(RC2_128);
+ MCRYPT_ENTRY2(RC6_256);
+ MCRYPT_ENTRY2(IDEA);
+ MCRYPT_ENTRY2(RC6_128);
+ MCRYPT_ENTRY2(RC6_192);
+ MCRYPT_ENTRY2(RC4);
+#else
+#error Please update your mcrypt library
#endif
-#ifdef DES_COMPAT
- MCRYPT_ENTRY(DES_COMPAT);
-#endif
- MCRYPT_ENTRY(SAFER64);
- MCRYPT_ENTRY(SAFER128);
- MCRYPT_ENTRY(CAST128);
- MCRYPT_ENTRY(TEAN);
- MCRYPT_ENTRY(RC2);
-#ifdef TWOFISH
- MCRYPT_ENTRY(TWOFISH);
-#elif defined(TWOFISH128)
- MCRYPT_ENTRY(TWOFISH128);
- MCRYPT_ENTRY(TWOFISH192);
- MCRYPT_ENTRY(TWOFISH256);
-#endif
-#ifdef RC6
- MCRYPT_ENTRY(RC6);
-#endif
-#ifdef IDEA
- MCRYPT_ENTRY(IDEA);
-#endif
return SUCCESS;
}
@@ -224,11 +233,14 @@
convert_to_long_ex(cipher);
- str = get_algorithms_name((*cipher)->value.lval);
- nstr = estrdup(str);
- free(str);
-
- RETURN_STRING(nstr, 0);
+ str = mcrypt_get_algorithms_name((*cipher)->value.lval);
+ if (str) {
+ nstr = estrdup(str);
+ free(str);
+ RETURN_STRING(nstr, 0);
+ }
+
+ RETURN_FALSE;
}
/* proto mcrypt_get_key_size(int cipher)
@@ -243,7 +255,7 @@
convert_to_long_ex(cipher);
- RETURN_LONG(get_key_size((*cipher)->value.lval));
+ RETURN_LONG(mcrypt_get_key_size((*cipher)->value.lval));
}
/* proto mcrypt_get_block_size(int cipher)
@@ -258,7 +270,7 @@
convert_to_long_ex(cipher);
- RETURN_LONG(get_block_size((*cipher)->value.lval));
+ RETURN_LONG(mcrypt_get_block_size((*cipher)->value.lval));
}
/* proto mcrypt_ofb(int cipher, string key, string data, int mode, string iv)