]> git.donarmstrong.com Git - roundcube.git/blob - debian/patches/use_mcrypt.patch
Use mcrypt instead of des.inc whose license is non-free
[roundcube.git] / debian / patches / use_mcrypt.patch
1 --- roundcube_0.1~beta2.2/program/include/main.inc      2006-12-22 23:26:24.000000000 +0100
2 +++ roundcube_0.1~beta2.2/program/include/main.inc      2007-03-18 10:24:11.000000000 +0100
3 @@ -758,7 +758,13 @@
4  // encrypt IMAP password using DES encryption
5  function encrypt_passwd($pass)
6    {
7 -  $cypher = des(get_des_key(), $pass, 1, 0, NULL);
8 +  $td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
9 +  $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
10 +  mcrypt_generic_init($td, get_des_key(), $iv);
11 +  $cypher = mcrypt_generic($td, $pass);
12 +  mcrypt_generic_end($td);
13 +  mcrypt_module_close($td);
14 +  
15    return base64_encode($cypher);
16    }
17  
18 @@ -766,8 +772,14 @@
19  // decrypt IMAP password using DES encryption
20  function decrypt_passwd($cypher)
21    {
22 -  $pass = des(get_des_key(), base64_decode($cypher), 0, 0, NULL);
23 -  return preg_replace('/\x00/', '', $pass);
24 +  $td = mcrypt_module_open(MCRYPT_TripleDES, "", MCRYPT_MODE_ECB, "");
25 +  $iv = mcrypt_create_iv(mcrypt_enc_get_iv_size($td), MCRYPT_RAND);
26 +  mcrypt_generic_init($td, get_des_key(), $iv);
27 +  $pass = mdecrypt_generic($td, base64_decode($cypher));
28 +  mcrypt_generic_end($td);
29 +  mcrypt_module_close($td);
30 +
31 +  return $pass;
32    }
33  
34