mirror of
https://github.com/php/php-src.git
synced 2024-12-01 05:43:38 +08:00
1c1c98c620
1. Merged ARG_INFO patch (Felipe) 2. Allow empty username & password so Oracle can do non-password based authentication, i.e. "External Authentication". http://news.php.net/php.internals/37545 [DOC] A new OCI_CRED_EXT flag can be passed as the "session_mode" parameter to oci_connect(), oci_new_connect() and oci_pconnect(). $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT); This tells Oracle to do external or OS authentication, if configured in the database. OCI_CRED_EXT can only be used with username of "/" and a empty password. Oci8.privileged_connection may be On or Off. OCI_CRED_EXT is not supported on Windows for security reasons. The new flag may be combined with the existing OCI_SYSOPER or OCI_SYSDBA modes (note: oci8.privileged_connection needs to be On for OCI_SYSDBA and OCI_SYSOPER), e.g.: $c1 = oci_connect("/", "", $db, null, OCI_CRED_EXT+OCI_SYSOPER);
57 lines
1.1 KiB
PHP
57 lines
1.1 KiB
PHP
--TEST--
|
|
Test External Authentication errors on Windows
|
|
--SKIPIF--
|
|
<?php
|
|
if (!extension_loaded('oci8')) die ("skip no oci8 extension");
|
|
if (substr(PHP_OS, 0, 3) != 'WIN') die("skip this test is for Windows platforms only");
|
|
?>
|
|
--FILE--
|
|
<?php
|
|
|
|
// Run Test
|
|
|
|
echo "Test 1\n";
|
|
|
|
$c = oci_connect('/', '', 'anything', null, OCI_CRED_EXT);
|
|
if (!$c) {
|
|
$m = oci_error();
|
|
var_dump($m);
|
|
}
|
|
var_dump($c);
|
|
|
|
echo "Test 2\n";
|
|
|
|
$c = oci_new_connect('/', '', 'anything', null, OCI_CRED_EXT);
|
|
if (!$c) {
|
|
$m = oci_error();
|
|
var_dump($m);
|
|
}
|
|
var_dump($c);
|
|
|
|
echo "Test 3\n";
|
|
|
|
$c = oci_pconnect('/', '', 'anything', null, OCI_CRED_EXT);
|
|
if (!$c) {
|
|
$m = oci_error();
|
|
var_dump($m);
|
|
}
|
|
var_dump($c);
|
|
|
|
?>
|
|
===DONE===
|
|
<?php exit(0); ?>
|
|
--EXPECTF--
|
|
Test 1
|
|
Warning: oci_connect(): External Authentication is not supported on Windows in %s on line %d
|
|
bool(false)
|
|
bool(false)
|
|
Test 2
|
|
Warning: oci_new_connect(): External Authentication is not supported on Windows in %s on line %d
|
|
bool(false)
|
|
bool(false)
|
|
Test 3
|
|
Warning: oci_pconnect(): External Authentication is not supported on Windows in %s on line %d
|
|
bool(false)
|
|
bool(false)
|
|
===DONE===
|