summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHenrique do Nascimento Angelo <hnangelo@php.net>2008-07-15 03:20:44 +0000
committerHenrique do Nascimento Angelo <hnangelo@php.net>2008-07-15 03:20:44 +0000
commit0890b92f86d9df6be66b74776386b72735cc7bf6 (patch)
tree6da8683eb993581b6ab896a0e2ff1298d701d49b
parentd3538f427a6debc8bfdb8a7a760d26d4a079a8fa (diff)
downloadphp-git-0890b92f86d9df6be66b74776386b72735cc7bf6.tar.gz
Fix error message
-rw-r--r--ext/openssl/openssl.c2
-rw-r--r--ext/openssl/tests/012.phpt27
-rw-r--r--ext/openssl/tests/public.key6
3 files changed, 34 insertions, 1 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 1f0b5142bb..1e60cdc438 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -4126,7 +4126,7 @@ PHP_FUNCTION(openssl_seal)
&pos) == SUCCESS) {
pkeys[i] = php_openssl_evp_from_zval(pubkey, 1, NULL, 0, &key_resources[i] TSRMLS_CC);
if (pkeys[i] == NULL) {
- php_error_docref(NULL TSRMLS_CC, E_WARNING, "not a public key (%dth member of pubkeys)", i);
+ php_error_docref(NULL TSRMLS_CC, E_WARNING, "not a public key (%dth member of pubkeys)", i+1);
RETVAL_FALSE;
goto clean_exit;
}
diff --git a/ext/openssl/tests/012.phpt b/ext/openssl/tests/012.phpt
new file mode 100644
index 0000000000..dbd03ac0af
--- /dev/null
+++ b/ext/openssl/tests/012.phpt
@@ -0,0 +1,27 @@
+--TEST--
+openssl_seal() error tests
+--SKIPIF--
+<?php if (!extension_loaded("openssl")) print "skip"; ?>
+--FILE--
+<?php
+$data = "openssl_open() test";
+$pub_key = "file://" . dirname(__FILE__) . "/public.key";
+$wrong = "wrong";
+
+openssl_seal($data, $sealed, $ekeys, array($pub_key)); // no output
+openssl_seal($data, $sealed, $ekeys, array($pub_key, $pub_key)); // no output
+openssl_seal($data, $sealed, $ekeys, array($pub_key, $wrong));
+openssl_seal($data, $sealed, $ekeys, $pub_key);
+openssl_seal($data, $sealed, $ekeys, array());
+openssl_seal($data, $sealed, $ekeys, array($wrong));
+?>
+--EXPECTF--
+
+Warning: openssl_seal(): not a public key (2th member of pubkeys) in %s on line %d
+
+Warning: openssl_seal() expects parameter 4 to be array, string given in %s on line %d
+
+Warning: openssl_seal(): Fourth argument to openssl_seal() must be a non-empty array in %s on line %d
+
+Warning: openssl_seal(): not a public key (1th member of pubkeys) in %s on line %d
+
diff --git a/ext/openssl/tests/public.key b/ext/openssl/tests/public.key
new file mode 100644
index 0000000000..92021c1034
--- /dev/null
+++ b/ext/openssl/tests/public.key
@@ -0,0 +1,6 @@
+-----BEGIN PUBLIC KEY-----
+MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDLXp6PkCtbpV+P1gwFQWH6Ez0U
+83uEmS8IGnpeI8Fk8rY/vHOZzZZaxRCw+loyc342qCDIQheMOCNm5Fkevz06q757
+/oooiLR3yryYGKiKG1IZIiplmtsC95oKrzUSKk60wuI1mbgpMUP5LKi/Tvxes5Pm
+kUtXfimz2qgkeUcPpQIDAQAB
+-----END PUBLIC KEY-----