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);
Code:
- Do scope-end release for oci_pconnect (oci8.old_oci_close_semantics=1 gives old behavior)
- Fix session reuse with 10.2 client libs
- Fix the Ping macro version check for 10.2
- Add type check associated with zend_list_find
- Code connection re-organized for reuse
- Format comments
- WS changes
- Prepare for new PECL release
Tests:
- Add new tests
- Rationalize password tests
- Revert use of __DIR__ so tests will work with PHP 5.2
- Update some skipifs to make tests more portable
Cleaned up whitespace
Fixed bug #44372 (compilation with Oracle 10gR1 libraries)
http://bugs.php.net/bug.php?id=44372
Updated updated error number list to improve re-connection
behavior after a database restart.
Guard against potential internal list corruption after ping
removes old oci_pconnect() information.
Fix ini_set("oci8.connection_class", "abc") to get an appropriate
persistent connection.
Ping at oci8.ping_interval for oci_connect() and oci_new_connect()
when DRCP connections are used. This improves non-persistent
connection reliability if a database gets restarted.