php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #9163 mcrypt_list_algorithms doesn't work
Submitted: 2001-02-07 16:09 UTC Modified: 2001-06-12 04:35 UTC
From: rusty at socrates dot berkeley dot edu Assigned: derick (profile)
Status: Closed Package: mcrypt related
PHP Version: 4.0.4pl1 OS: solaris 7
Private report: No CVE-ID: None
 [2001-02-07 16:09 UTC] rusty at socrates dot berkeley dot edu
I'm using libmcrypt-2.4.8.  Compiled everything with gcc-2.95.2.  Here is the sample script.  Everything works except the mcrypt_list_algorithms() and mcrypt_list_modes() at the end.  They both generate the error "Warning: No algorithms found in module dir in /grunt_a/apache/htdocs/grunt/idrive/test1.php on line 34"


<script language="php">

  if (mcrypt_module_self_test(MCRYPT_DES) == FALSE) {
    echo "mcrypt_module_self_test(MCRYPT_DES) failed<br>";
  }
  else {
    echo "mcrypt_module_self_test(MCRYPT_DES) passed<br>";
  }

  $key = "the password is: xyzzy";
  $input = "encrypt this, sucker";

  $td = mcrypt_module_open(MCRYPT_DES, "", MCRYPT_MODE_CBC, "");
  $ivs = mcrypt_enc_get_iv_size($td);
  $iv = mcrypt_create_iv($ivs, MCRYPT_RAND);

  mcrypt_generic_init($td, $key, $iv);

  if (mcrypt_enc_self_test($td)) {
    echo "mcrypt_enc_self_test() failed<br>";
  }

  $enc = mcrypt_generic($td, $input);
  echo "encrypted data: " . bin2hex($enc) . "<br>";

  $dec = mdecrypt_generic($td, $enc);
  echo "decrypted data: " . $dec . "<br>";

  echo "algorithm: " . mcrypt_enc_get_algorithms_name($td) . "<br>";
  echo "mode: " . mcrypt_enc_get_modes_name($td) . "<br>";
  echo "block size: " . mcrypt_enc_get_block_size($td) . "<br>";
  echo "key size: " . mcrypt_enc_get_key_size($td) . "<br>";

  $algs = mcrypt_list_algorithms();
  $mods = mcrypt_list_modes();

  mcrypt_generic_end($td)

</script>

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2001-02-07 16:14 UTC] derick@php.net
IN which are your modules and to which parameter are the directories set in php.ini ?
It would be nice if you could add a link to the output of a phpinfo(); to this report too.
 [2001-02-07 16:36 UTC] derick@php.net
mcrypt

mcrypt support   enabled
version      2.4.x
Supported ciphers none
Supported modes  none

Directive            Local Value              Master Value
mcrypt.algorithms_dir
/usr/local/lib/libmcrypt /usr/local/lib/libmcrypt
mcrypt.modes_dir
/usr/local/lib/libmcrypt /usr/local/lib/libmcrypt

It looks like there are no modules installed in these dirs, what is the content of these directories, and is this path in your ld.so.conf ?

(Please use the bugsystem to answer the question)
 [2001-02-07 16:47 UTC] rusty at socrates dot berkeley dot edu
What is ld.so.conf?  This is a solaris system; I did a "man ld" and it doesn't say anything about that file.

/usr/local/lib:
total 6102
drwxr-xr-x   3 root     root         512 Nov  7 17:06 gcc-lib/
-r--r--r--   1 root     other      49408 Sep 22  1999 libamu.a
-r--r--r--   1 root     other        623 Sep 22  1999 libamu.la
-rw-r--r--   1 root     other    1564188 Jan 31 17:11 libcrypto.a
-rw-r--r--   1 root     other      62932 Jan 18 14:17 liblber.a
-rw-r--r--   1 root     other        658 Jan 18 14:17 liblber.la
-rw-r--r--   1 root     other     258080 Jan 18 14:17 libldap.a
-rw-r--r--   1 root     other        673 Jan 18 14:17 libldap.la
-rw-r--r--   1 root     other     276392 Jan 18 14:17 libldap_r.a
-rw-r--r--   1 root     other        679 Jan 18 14:17 libldap_r.la
-rw-r--r--   1 root     other      15804 Feb  6 17:31 libltdl.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 libltdl.la*
lrwxrwxrwx   1 root     other         16 Feb  6 17:31 libltdl.so -> libltdl.so.0.1.2*
lrwxrwxrwx   1 root     other         16 Feb  6 17:31 libltdl.so.0 -> libltdl.so.0.1.2*
-rwxr-xr-x   1 root     other      16300 Feb  6 17:31 libltdl.so.0.1.2*
drwxr-xr-x   2 root     other       2048 Feb  6 17:32 libmcrypt/
-rw-r--r--   1 root     other      21288 Feb  6 17:32 libmcrypt.a
-rw-r--r--   1 root     other      21288 Feb  1 13:14 libmcrypt.a_bak
-rwxr-xr-x   1 root     other        654 Feb  6 17:32 libmcrypt.la*
lrwxrwxrwx   1 root     other         18 Feb  6 17:32 libmcrypt.so -> libmcrypt.so.4.0.4*
lrwxrwxrwx   1 root     other         18 Feb  6 17:32 libmcrypt.so.4 -> libmcrypt.so.4.0.4*
-rwxr-xr-x   1 root     other      18948 Feb  6 17:32 libmcrypt.so.4.0.4*
-rw-r--r--   1 root     other     293004 Jan 31 17:11 libssl.a
-rw-r--r--   1 root     other     454088 Nov  7 18:42 libstdc++.a.2.10.0
drwxr-xr-x   4 root     other        512 Oct 24 15:36 perl5/
-rw-r--r--   1 root     other         38 Jan 17 16:16 sccsid

/usr/local/lib/libmcrypt:
total 1056
-rw-r--r--   1 root     other       3864 Feb  6 17:31 arcfour-iv.a
-rwxr-xr-x   1 root     other        675 Feb  6 17:31 arcfour-iv.la*
-rwxr-xr-x   1 root     other       6216 Feb  6 17:31 arcfour-iv.so*
-rw-r--r--   1 root     other       3520 Feb  6 17:31 arcfour.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 arcfour.la*
-rwxr-xr-x   1 root     other       5876 Feb  6 17:31 arcfour.so*
-rw-r--r--   1 root     other       9072 Feb  6 17:31 blowfish.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 blowfish.la*
-rwxr-xr-x   1 root     other      11416 Feb  6 17:31 blowfish.so*
-rw-r--r--   1 root     other      17572 Feb  6 17:31 cast-128.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 cast-128.la*
-rwxr-xr-x   1 root     other      19736 Feb  6 17:31 cast-128.so*
-rw-r--r--   1 root     other      19908 Feb  6 17:31 cast-256.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 cast-256.la*
-rwxr-xr-x   1 root     other      22520 Feb  6 17:31 cast-256.so*
-rw-r--r--   1 root     other       2492 Feb  6 17:32 cbc.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 cbc.la*
-rwxr-xr-x   1 root     other       4540 Feb  6 17:32 cbc.so*
-rw-r--r--   1 root     other       2436 Feb  6 17:32 cfb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 cfb.la*
-rwxr-xr-x   1 root     other       4400 Feb  6 17:32 cfb.so*
-rw-r--r--   1 root     other       7536 Feb  6 17:31 des.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:31 des.la*
-rwxr-xr-x   1 root     other       9928 Feb  6 17:31 des.so*
-rw-r--r--   1 root     other       1836 Feb  6 17:32 ecb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 ecb.la*
-rwxr-xr-x   1 root     other       3928 Feb  6 17:32 ecb.so*
-rw-r--r--   1 root     other       4668 Feb  6 17:31 enigma.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 enigma.la*
-rwxr-xr-x   1 root     other       7196 Feb  6 17:31 enigma.so*
-rw-r--r--   1 root     other       5892 Feb  6 17:31 gost.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 gost.la*
-rwxr-xr-x   1 root     other       8124 Feb  6 17:31 gost.so*
-rw-r--r--   1 root     other      10496 Feb  6 17:31 loki97.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 loki97.la*
-rwxr-xr-x   1 root     other      12512 Feb  6 17:31 loki97.so*
-rw-r--r--   1 root     other       2632 Feb  6 17:32 nofb.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:32 nofb.la*
-rwxr-xr-x   1 root     other       4628 Feb  6 17:32 nofb.so*
-rw-r--r--   1 root     other       2444 Feb  6 17:32 ofb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 ofb.la*
-rwxr-xr-x   1 root     other       4408 Feb  6 17:31 ofb.so*
-rw-r--r--   1 root     other       8888 Feb  6 17:31 panama.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 panama.la*
-rwxr-xr-x   1 root     other      11528 Feb  6 17:31 panama.so*
-rw-r--r--   1 root     other       4296 Feb  6 17:31 rc2.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:31 rc2.la*
-rwxr-xr-x   1 root     other       6656 Feb  6 17:31 rc2.so*
-rw-r--r--   1 root     other       8052 Feb  6 17:31 rijndael-128.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-128.la*
-rwxr-xr-x   1 root     other      10188 Feb  6 17:31 rijndael-128.so*
-rw-r--r--   1 root     other       8144 Feb  6 17:31 rijndael-192.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-192.la*
-rwxr-xr-x   1 root     other      10268 Feb  6 17:31 rijndael-192.so*
-rw-r--r--   1 root     other       8160 Feb  6 17:31 rijndael-256.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-256.la*
-rwxr-xr-x   1 root     other      10284 Feb  6 17:31 rijndael-256.so*
-rw-r--r--   1 root     other       5560 Feb  6 17:31 safer-sk128.a
-rwxr-xr-x   1 root     other        682 Feb  6 17:31 safer-sk128.la*
-rwxr-xr-x   1 root     other       7896 Feb  6 17:31 safer-sk128.so*
-rw-r--r--   1 root     other       5520 Feb  6 17:31 safer-sk64.a
-rwxr-xr-x   1 root     other        675 Feb  6 17:31 safer-sk64.la*
-rwxr-xr-x   1 root     other       7848 Feb  6 17:31 safer-sk64.so*
-rw-r--r--   1 root     other       7836 Feb  6 17:31 saferplus.a
-rwxr-xr-x   1 root     other        668 Feb  6 17:31 saferplus.la*
-rwxr-xr-x   1 root     other       9864 Feb  6 17:31 saferplus.so*
-rw-r--r--   1 root     other      20088 Feb  6 17:31 serpent.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 serpent.la*
-rwxr-xr-x   1 root     other      22396 Feb  6 17:31 serpent.so*
-rw-r--r--   1 root     other       1852 Feb  6 17:32 stream.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:32 stream.la*
-rwxr-xr-x   1 root     other       3920 Feb  6 17:32 stream.so*
-rw-r--r--   1 root     other       4776 Feb  6 17:31 threeway.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 threeway.la*
-rwxr-xr-x   1 root     other       7244 Feb  6 17:31 threeway.so*
-rw-r--r--   1 root     other       9940 Feb  6 17:31 tripledes.a
-rwxr-xr-x   1 root     other        668 Feb  6 17:31 tripledes.la*
-rwxr-xr-x   1 root     other      12144 Feb  6 17:31 tripledes.so*
-rw-r--r--   1 root     other      13420 Feb  6 17:31 twofish.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 twofish.la*
-rwxr-xr-x   1 root     other      16152 Feb  6 17:31 twofish.so*
-rw-r--r--   1 root     other       4800 Feb  6 17:31 wake.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 wake.la*
-rwxr-xr-x   1 root     other       7144 Feb  6 17:31 wake.so*
-rw-r--r--   1 root     other       3304 Feb  6 17:31 xtea.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 xtea.la*
-rwxr-xr-x   1 root     other       5684 Feb  6 17:31 xtea.so*

 [2001-02-07 17:18 UTC] derick@php.net
That looks all ok to me. I'll check it out and report later, i~t might be a problem in the functions. Can you try using
mcrypt_list_algorithms ("/usr/local/bin/lib") ?
 [2001-02-07 17:36 UTC] rusty at socrates dot berkeley dot edu
What is ld.so.conf?  This is a solaris system; I did a "man ld" and it doesn't say anything about that file.

/usr/local/lib:
total 6102
drwxr-xr-x   3 root     root         512 Nov  7 17:06 gcc-lib/
-r--r--r--   1 root     other      49408 Sep 22  1999 libamu.a
-r--r--r--   1 root     other        623 Sep 22  1999 libamu.la
-rw-r--r--   1 root     other    1564188 Jan 31 17:11 libcrypto.a
-rw-r--r--   1 root     other      62932 Jan 18 14:17 liblber.a
-rw-r--r--   1 root     other        658 Jan 18 14:17 liblber.la
-rw-r--r--   1 root     other     258080 Jan 18 14:17 libldap.a
-rw-r--r--   1 root     other        673 Jan 18 14:17 libldap.la
-rw-r--r--   1 root     other     276392 Jan 18 14:17 libldap_r.a
-rw-r--r--   1 root     other        679 Jan 18 14:17 libldap_r.la
-rw-r--r--   1 root     other      15804 Feb  6 17:31 libltdl.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 libltdl.la*
lrwxrwxrwx   1 root     other         16 Feb  6 17:31 libltdl.so -> libltdl.so.0.1.2*
lrwxrwxrwx   1 root     other         16 Feb  6 17:31 libltdl.so.0 -> libltdl.so.0.1.2*
-rwxr-xr-x   1 root     other      16300 Feb  6 17:31 libltdl.so.0.1.2*
drwxr-xr-x   2 root     other       2048 Feb  6 17:32 libmcrypt/
-rw-r--r--   1 root     other      21288 Feb  6 17:32 libmcrypt.a
-rw-r--r--   1 root     other      21288 Feb  1 13:14 libmcrypt.a_bak
-rwxr-xr-x   1 root     other        654 Feb  6 17:32 libmcrypt.la*
lrwxrwxrwx   1 root     other         18 Feb  6 17:32 libmcrypt.so -> libmcrypt.so.4.0.4*
lrwxrwxrwx   1 root     other         18 Feb  6 17:32 libmcrypt.so.4 -> libmcrypt.so.4.0.4*
-rwxr-xr-x   1 root     other      18948 Feb  6 17:32 libmcrypt.so.4.0.4*
-rw-r--r--   1 root     other     293004 Jan 31 17:11 libssl.a
-rw-r--r--   1 root     other     454088 Nov  7 18:42 libstdc++.a.2.10.0
drwxr-xr-x   4 root     other        512 Oct 24 15:36 perl5/
-rw-r--r--   1 root     other         38 Jan 17 16:16 sccsid

/usr/local/lib/libmcrypt:
total 1056
-rw-r--r--   1 root     other       3864 Feb  6 17:31 arcfour-iv.a
-rwxr-xr-x   1 root     other        675 Feb  6 17:31 arcfour-iv.la*
-rwxr-xr-x   1 root     other       6216 Feb  6 17:31 arcfour-iv.so*
-rw-r--r--   1 root     other       3520 Feb  6 17:31 arcfour.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 arcfour.la*
-rwxr-xr-x   1 root     other       5876 Feb  6 17:31 arcfour.so*
-rw-r--r--   1 root     other       9072 Feb  6 17:31 blowfish.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 blowfish.la*
-rwxr-xr-x   1 root     other      11416 Feb  6 17:31 blowfish.so*
-rw-r--r--   1 root     other      17572 Feb  6 17:31 cast-128.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 cast-128.la*
-rwxr-xr-x   1 root     other      19736 Feb  6 17:31 cast-128.so*
-rw-r--r--   1 root     other      19908 Feb  6 17:31 cast-256.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 cast-256.la*
-rwxr-xr-x   1 root     other      22520 Feb  6 17:31 cast-256.so*
-rw-r--r--   1 root     other       2492 Feb  6 17:32 cbc.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 cbc.la*
-rwxr-xr-x   1 root     other       4540 Feb  6 17:32 cbc.so*
-rw-r--r--   1 root     other       2436 Feb  6 17:32 cfb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 cfb.la*
-rwxr-xr-x   1 root     other       4400 Feb  6 17:32 cfb.so*
-rw-r--r--   1 root     other       7536 Feb  6 17:31 des.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:31 des.la*
-rwxr-xr-x   1 root     other       9928 Feb  6 17:31 des.so*
-rw-r--r--   1 root     other       1836 Feb  6 17:32 ecb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 ecb.la*
-rwxr-xr-x   1 root     other       3928 Feb  6 17:32 ecb.so*
-rw-r--r--   1 root     other       4668 Feb  6 17:31 enigma.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 enigma.la*
-rwxr-xr-x   1 root     other       7196 Feb  6 17:31 enigma.so*
-rw-r--r--   1 root     other       5892 Feb  6 17:31 gost.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 gost.la*
-rwxr-xr-x   1 root     other       8124 Feb  6 17:31 gost.so*
-rw-r--r--   1 root     other      10496 Feb  6 17:31 loki97.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 loki97.la*
-rwxr-xr-x   1 root     other      12512 Feb  6 17:31 loki97.so*
-rw-r--r--   1 root     other       2632 Feb  6 17:32 nofb.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:32 nofb.la*
-rwxr-xr-x   1 root     other       4628 Feb  6 17:32 nofb.so*
-rw-r--r--   1 root     other       2444 Feb  6 17:32 ofb.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:32 ofb.la*
-rwxr-xr-x   1 root     other       4408 Feb  6 17:31 ofb.so*
-rw-r--r--   1 root     other       8888 Feb  6 17:31 panama.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:31 panama.la*
-rwxr-xr-x   1 root     other      11528 Feb  6 17:31 panama.so*
-rw-r--r--   1 root     other       4296 Feb  6 17:31 rc2.a
-rwxr-xr-x   1 root     other        626 Feb  6 17:31 rc2.la*
-rwxr-xr-x   1 root     other       6656 Feb  6 17:31 rc2.so*
-rw-r--r--   1 root     other       8052 Feb  6 17:31 rijndael-128.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-128.la*
-rwxr-xr-x   1 root     other      10188 Feb  6 17:31 rijndael-128.so*
-rw-r--r--   1 root     other       8144 Feb  6 17:31 rijndael-192.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-192.la*
-rwxr-xr-x   1 root     other      10268 Feb  6 17:31 rijndael-192.so*
-rw-r--r--   1 root     other       8160 Feb  6 17:31 rijndael-256.a
-rwxr-xr-x   1 root     other        689 Feb  6 17:31 rijndael-256.la*
-rwxr-xr-x   1 root     other      10284 Feb  6 17:31 rijndael-256.so*
-rw-r--r--   1 root     other       5560 Feb  6 17:31 safer-sk128.a
-rwxr-xr-x   1 root     other        682 Feb  6 17:31 safer-sk128.la*
-rwxr-xr-x   1 root     other       7896 Feb  6 17:31 safer-sk128.so*
-rw-r--r--   1 root     other       5520 Feb  6 17:31 safer-sk64.a
-rwxr-xr-x   1 root     other        675 Feb  6 17:31 safer-sk64.la*
-rwxr-xr-x   1 root     other       7848 Feb  6 17:31 safer-sk64.so*
-rw-r--r--   1 root     other       7836 Feb  6 17:31 saferplus.a
-rwxr-xr-x   1 root     other        668 Feb  6 17:31 saferplus.la*
-rwxr-xr-x   1 root     other       9864 Feb  6 17:31 saferplus.so*
-rw-r--r--   1 root     other      20088 Feb  6 17:31 serpent.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 serpent.la*
-rwxr-xr-x   1 root     other      22396 Feb  6 17:31 serpent.so*
-rw-r--r--   1 root     other       1852 Feb  6 17:32 stream.a
-rwxr-xr-x   1 root     other        647 Feb  6 17:32 stream.la*
-rwxr-xr-x   1 root     other       3920 Feb  6 17:32 stream.so*
-rw-r--r--   1 root     other       4776 Feb  6 17:31 threeway.a
-rwxr-xr-x   1 root     other        661 Feb  6 17:31 threeway.la*
-rwxr-xr-x   1 root     other       7244 Feb  6 17:31 threeway.so*
-rw-r--r--   1 root     other       9940 Feb  6 17:31 tripledes.a
-rwxr-xr-x   1 root     other        668 Feb  6 17:31 tripledes.la*
-rwxr-xr-x   1 root     other      12144 Feb  6 17:31 tripledes.so*
-rw-r--r--   1 root     other      13420 Feb  6 17:31 twofish.a
-rwxr-xr-x   1 root     other        654 Feb  6 17:31 twofish.la*
-rwxr-xr-x   1 root     other      16152 Feb  6 17:31 twofish.so*
-rw-r--r--   1 root     other       4800 Feb  6 17:31 wake.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 wake.la*
-rwxr-xr-x   1 root     other       7144 Feb  6 17:31 wake.so*
-rw-r--r--   1 root     other       3304 Feb  6 17:31 xtea.a
-rwxr-xr-x   1 root     other        633 Feb  6 17:31 xtea.la*
-rwxr-xr-x   1 root     other       5684 Feb  6 17:31 xtea.so*

 [2001-02-07 17:38 UTC] rusty at socrates dot berkeley dot edu
As per your request I tried it with

  mcrypt_list_algorithms ("/usr/local/bin/lib")

Also tried it with "/usr/local/lib" and "/usr/local/lib/libmcrypt".

No cigar.
 [2001-05-01 03:20 UTC] derick@php.net
I'm forwarding this bugreport to the author of libmcrypt, as this does not like a php bug to me.
 [2001-05-18 17:06 UTC] derick@php.net
Hello,

there were some fixes of this in libmcrypt, can you please try it with libmcrypt 2.4.11?

Derick
 [2001-06-12 04:35 UTC] sniper@php.net
No feedback, considered fixed.

 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Thu Dec 26 19:01:30 2024 UTC